[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [PATCH 07/40] arm64: add exception support
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. This is why it was fine to copy hypercall64.S from Linux. So which other bits have been copied from Linux?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). [...] + +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. Cheers, -- Julien Grall _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/cgi-bin/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |