[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [PATCH 07/40] arm64: add exception support



On Tue, Nov 07, 2017 at 12:15:04PM +0000, Julien Grall wrote:
> Hi Shijie,
> 
> On 07/11/17 09:19, Huang Shijie wrote:
> > On Fri, Nov 03, 2017 at 03:44:27PM +0000, Julien Grall wrote:
> > > On 03/11/17 03:11, Huang Shijie wrote:
> > > Question for the Mini-OS maintainers, do you have a way similar to
> > > asm-offsets.c in Mini-OS? This would avoid a lot of hardcoding value in 
> > > the
> > > code.
> > > 
> > > > +
> > > > +    .macro trap_entry, el
> > > > +    sub   sp, sp, #FRAME_SIZE
> > > > +    stp   x0, x1, [sp, #16 * 0]
> > > > +    stp   x2, x3, [sp, #16 * 1]
> > > > +    stp   x4, x5, [sp, #16 * 2]
> > > > +    stp   x6, x7, [sp, #16 * 3]
> > > > +    stp   x8, x9, [sp, #16 * 4]
> > > > +    stp   x10, x11, [sp, #16 * 5]
> > > > +    stp   x12, x13, [sp, #16 * 6]
> > > > +    stp   x14, x15, [sp, #16 * 7]
> > > > +    stp   x16, x17, [sp, #16 * 8]
> > > > +    stp   x18, x19, [sp, #16 * 9]
> > > > +    stp   x20, x21, [sp, #16 * 10]
> > > > +    stp   x22, x23, [sp, #16 * 11]
> > > > +    stp   x24, x25, [sp, #16 * 12]
> > > > +    stp   x26, x27, [sp, #16 * 13]
> > > > +    stp   x28, x29, [sp, #16 * 14]
> > > 
> > > Is there any way to simplify this code? Such as using writeback version?
> > I do not know, I just copy it from the linux kernel.
> 
> Is that a joke? I have been telling you for the past 6 months that Mini-OS
> is BSD license. You *cannot* copy code from GPL project and put that in it
> unless the file has been dual-licensed BSD/GPL.
okay, I will drop it...

> 
> This is why it was fine to copy hypercall64.S from Linux.
> 
> So which other bits have been copied from Linux?
none. 
> 
> If you want to copy code, then you can use any BSD kernel. A good candidate
> is FreeBSD as IIRC the Arm64 bits are quite good.
> 
> > 
> > Could you give an example about the writeback version?
> 
> See the documentation in the ARM ARM (C6.2.224 ARM DDI 0487B.b).
okay..

> 
> [...]
> 
> > > > +
> > > > +el_invalid(el1_sync, BAD_SYNC, 1);
> > > > +el_invalid(el0_sync, BAD_SYNC, 0);
> > > > +el_invalid(el1_irq, BAD_IRQ, 1);
> > > > +el_invalid(el0_irq, BAD_IRQ, 0);
> > > > +el_invalid(el1_fiq, BAD_FIQ, 1);
> > > > +el_invalid(el0_fiq, BAD_FIQ, 0);
> > > > +el_invalid(el1_error, BAD_ERROR, 1);
> > > > +el_invalid(el0_error, BAD_ERROR, 0);
> > > 
> > > It would be more logic to define all the exception handler before creating
> > > the vector table.
> > do you mean I need to add another patch to define all the handlers?
> 
> I meant moving the definitions above vector_table within the file. Not
> splitting it.
okay.

Thanks
Huang Shijie

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.