From: joek Date: Mon, 8 Nov 2010 13:57:15 +0000 (+0100) Subject: Fixes to make the os kernel test framework pass. X-Git-Url: http://rtime.felk.cvut.cz/gitweb/arc.git/commitdiff_plain/534e7b1d30845da37144329c3d45bebb561b8097 Fixes to make the os kernel test framework pass. --- diff --git a/arch/hc1x/hcs12d/kernel/irq.c b/arch/hc1x/hcs12d/kernel/irq.c index c1e4220d..b0210b52 100644 --- a/arch/hc1x/hcs12d/kernel/irq.c +++ b/arch/hc1x/hcs12d/kernel/irq.c @@ -112,7 +112,15 @@ void Irq_AttachIsr2(TaskType tid,void *int_ctrl,IrqType vector ) { * @param vector */ void Irq_GenerateSoftInt( IrqType vector ) { - (void)vector; + if (vector == IRQ_TYPE_SWI) + { + asm("swi"); + } + + if (vector == IRQ_TYPE_ILLEGAL) + { + asm(".short 0x1830"); // Trap instruction + } } /** diff --git a/arch/hc1x/hcs12d/scripts/linkscript_gcc.ldf b/arch/hc1x/hcs12d/scripts/linkscript_gcc.ldf index cf747efb..922e8824 100644 --- a/arch/hc1x/hcs12d/scripts/linkscript_gcc.ldf +++ b/arch/hc1x/hcs12d/scripts/linkscript_gcc.ldf @@ -236,6 +236,7 @@ SECTIONS /* BANK_E MODULES */ Port*.o(.text) Com*.o(.text) + test_*.o(.text) . = ALIGN(2); } > bank_E AT>bank_E_lma =0xff diff --git a/boards/hcs12_elmicro_card12/build_config.mk b/boards/hcs12_elmicro_card12/build_config.mk index 8f42bad9..b7688a03 100644 --- a/boards/hcs12_elmicro_card12/build_config.mk +++ b/boards/hcs12_elmicro_card12/build_config.mk @@ -13,7 +13,7 @@ MOD_AVAIL+=MCU GPT # System + Communication + Diagnostic MOD_AVAIL+=CANIF CANTP COM DCM DEM DET ECUM IOHWAB KERNEL PDUR WDGM RTE # Additional -MOD_AVAIL+=RAMLOG +MOD_AVAIL+=RAMLOG # Needed by us (These become USE_XXX=y and def-y += USE_XXX ) diff --git a/boards/hcs12_elmicro_card12/memory.ldf b/boards/hcs12_elmicro_card12/memory.ldf index 22c9397e..3d222ccd 100644 --- a/boards/hcs12_elmicro_card12/memory.ldf +++ b/boards/hcs12_elmicro_card12/memory.ldf @@ -8,7 +8,7 @@ page0 (rwx) : ORIGIN = 0x0, LENGTH = 256 /* RAM */ -data (rwx) : ORIGIN = 0x2000, LENGTH = 8k +data (rwx) : ORIGIN = 0x2000, LENGTH = 12k eeprom (rx): ORIGIN = 0x0400, LENGTH = 3k text (rx) : ORIGIN = 0x4000, LENGTH = 48k diff --git a/common/printf.c b/common/printf.c index dfded21c..19d00c09 100644 --- a/common/printf.c +++ b/common/printf.c @@ -322,7 +322,6 @@ int print(FILE *file, char **buffer, size_t n, const char *format, va_list ap) /* Not supported or no flag */ flags = FL_NONE; format--; - break; } ch = *format++;