diff options
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/Makefile | 2 | ||||
-rw-r--r-- | nuttx/TODO | 29 | ||||
-rw-r--r-- | nuttx/arch/x86/src/qemu/qemu_handlers.c | 8 | ||||
-rwxr-xr-x | nuttx/arch/x86/src/qemu/qemu_head.S | 10 | ||||
-rwxr-xr-x | nuttx/arch/x86/src/qemu/qemu_irq.c | 60 | ||||
-rwxr-xr-x | nuttx/configs/avr32dev1/ostest/defconfig | 2 | ||||
-rw-r--r-- | nuttx/configs/qemu-i486/README.txt | 6 | ||||
-rw-r--r-- | nuttx/configs/qemu-i486/ostest/defconfig | 4 | ||||
-rw-r--r-- | nuttx/fs/fat/fs_fat32util.c | 8 | ||||
-rw-r--r-- | nuttx/include/nuttx/arch.h | 2 | ||||
-rw-r--r-- | nuttx/sched/env_getenvironptr.c | 6 | ||||
-rw-r--r-- | nuttx/sched/timer_getoverrun.c | 8 |
12 files changed, 51 insertions, 94 deletions
diff --git a/nuttx/Makefile b/nuttx/Makefile index 00a7c60b1..231173a21 100644 --- a/nuttx/Makefile +++ b/nuttx/Makefile @@ -314,7 +314,7 @@ endif # DOWNLOAD command is not defined in platform Make.defs file. download: $(BIN) - $(call DOWNLOAD, $@) + $(call DOWNLOAD, $<) depend: @for dir in $(MAKEDIRS) ; do \ diff --git a/nuttx/TODO b/nuttx/TODO index b0e9462bb..833522222 100644 --- a/nuttx/TODO +++ b/nuttx/TODO @@ -1,4 +1,4 @@ -NuttX TODO List (Last updated March 4, 2011) +NuttX TODO List (Last updated March 8, 2011) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (5) Task/Scheduler (sched/) @@ -12,7 +12,7 @@ NuttX TODO List (Last updated March 4, 2011) (5) Network Utilities (netutils/) (2) USB (drivers/usbdev, drivers/usbhost) (5) Libraries (lib/) - (12) File system/Generic drivers (fs/, drivers/) + (13) File system/Generic drivers (fs/, drivers/) (2) Graphics subystem (graphics/) (1) Pascal add-on (pcode/) (1) Documentation (Documentation/) @@ -81,6 +81,21 @@ o On-demand paging (sched/) Status: Open Priority: Medium-Low +o Other core OS logic + ^^^^^^^^^^^^^^^^^^^ + + Description: get_environ_ptr() (sched/sched_getenvironptr.c) is not implemented. + The representation of the the environment strings selected for + NutX is not compatible with the operation. Some significant + re-design would be required to implement this funcion and that + effort is thought to be not worth the result. + Status: Open + Priority: Low -- There is no plan to implement this. + + Description: timer_getoverrun() (sched/timer_getoverrun.c) is not implemented. + Status: Open + Priority: Low -- There is no plan to implement this. + o Memory Managment (mm/) ^^^^^^^^^^^^^^^^^^^^^^ @@ -451,6 +466,12 @@ o File system / Generic drivers (fs/, drivers/) Status: Open Priority: Low + Description: Time stamping is no implemented in the NuttX FA file system. + See the following functions in fs/fat/fs_fat32util.c: + fat_systime2fattime() and fat_fattime2systime() + Status: Open + Priority: Medium + o Graphics subystem (graphics/) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1030,8 +1051,8 @@ o z80/z8/ez80 (arch/z80) I have found the following workaround that I use to build for the time being: - --- mm/mm_initialize.c.SAVE 2008-02-13 08:06:46.833857700 -0600 - +++ mm/mm_initialize.c 2008-02-13 08:07:26.367608900 -0600 + --- mm/mm_initialize.c.SAVE 2008-02-13 08:06:46.833857700 -0600 + +++ mm/mm_initialize.c 2008-02-13 08:07:26.367608900 -0600 @@ -94,8 +94,11 @@ { int i; diff --git a/nuttx/arch/x86/src/qemu/qemu_handlers.c b/nuttx/arch/x86/src/qemu/qemu_handlers.c index 221bfbf0f..05b5dee3f 100644 --- a/nuttx/arch/x86/src/qemu/qemu_handlers.c +++ b/nuttx/arch/x86/src/qemu/qemu_handlers.c @@ -101,10 +101,6 @@ static uint32_t *common_handler(int irq, uint32_t *regs) DEBUGASSERT(current_regs == NULL); current_regs = regs; - /* Mask and acknowledge the interrupt */ - - up_maskack_irq(irq); - /* Deliver the IRQ */ irq_dispatch(irq, regs); @@ -120,10 +116,6 @@ static uint32_t *common_handler(int irq, uint32_t *regs) /* Indicate that we are no long in an interrupt handler */ current_regs = NULL; - - /* Unmask the last interrupt (global interrupts are still disabled) */ - - up_enable_irq(irq); return regs; } #endif diff --git a/nuttx/arch/x86/src/qemu/qemu_head.S b/nuttx/arch/x86/src/qemu/qemu_head.S index 4840b9135..096705f46 100755 --- a/nuttx/arch/x86/src/qemu/qemu_head.S +++ b/nuttx/arch/x86/src/qemu/qemu_head.S @@ -161,17 +161,25 @@ g_heapbase: .type __start, @function
__start:
/* Set up the stack */
-
+ mov $'a', %ax
+ mov $0x3f8, %dx
+ outb %al, %dx
mov $(idle_stack + CONFIG_IDLETHREAD_STACKSIZE), %esp
/* Multiboot setup */
push %eax /* Multiboot magic number */
push %ebx /* Multiboot data structure */
+ mov $'b', %ax
+ mov $0x3f8, %dx
+ outb %al, %dx
/* Initialize and start NuttX */
call up_lowsetup /* Low-level, pre-OS initialization */
+ mov $'c', %ax
+ mov $0x3f8, %dx
+ outb %al, %dx
call os_start /* Start NuttX */
/* NuttX will not return */
diff --git a/nuttx/arch/x86/src/qemu/qemu_irq.c b/nuttx/arch/x86/src/qemu/qemu_irq.c index be6c4a40e..f266f6714 100755 --- a/nuttx/arch/x86/src/qemu/qemu_irq.c +++ b/nuttx/arch/x86/src/qemu/qemu_irq.c @@ -256,64 +256,6 @@ void up_irqinitialize(void) /* And finally, enable interrupts */ #ifndef CONFIG_SUPPRESS_INTERRUPTS - irqrestore(0); + irqrestore(X86_FLAGS_IF); #endif } - -/**************************************************************************** - * Name: up_disable_irq - * - * Description: - * Disable the IRQ specified by 'irq' - * - ****************************************************************************/ - -void up_disable_irq(int irq) -{ -#warning "Missing Logic" -} - -/**************************************************************************** - * Name: up_enable_irq - * - * Description: - * Enable the IRQ specified by 'irq' - * - ****************************************************************************/ - -void up_enable_irq(int irq) -{ -#warning "Missing Logic" -} - -/**************************************************************************** - * Name: up_maskack_irq - * - * Description: - * Mask the IRQ and acknowledge it - * - ****************************************************************************/ - -void up_maskack_irq(int irq) -{ -#warning "Missing Logic" -} - -/**************************************************************************** - * Name: up_prioritize_irq - * - * Description: - * Set the priority of an IRQ. - * - * Since this API is not supported on all architectures, it should be - * avoided in common implementations where possible. - * - ****************************************************************************/ - -#ifdef CONFIG_ARCH_IRQPRIO -int up_prioritize_irq(int irq, int priority) -{ -#warning "Missing Logic" - return OK; -} -#endif diff --git a/nuttx/configs/avr32dev1/ostest/defconfig b/nuttx/configs/avr32dev1/ostest/defconfig index b83edad0b..a6588daf4 100755 --- a/nuttx/configs/avr32dev1/ostest/defconfig +++ b/nuttx/configs/avr32dev1/ostest/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/avr32dev1/ostest/defconfig # -# Copyright (C) 2010 Gregory Nutt. All rights reserved. +# Copyright (C) 2010-2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> # # Redistribution and use in source and binary forms, with or without diff --git a/nuttx/configs/qemu-i486/README.txt b/nuttx/configs/qemu-i486/README.txt index f7b7d0674..112a04a43 100644 --- a/nuttx/configs/qemu-i486/README.txt +++ b/nuttx/configs/qemu-i486/README.txt @@ -58,7 +58,11 @@ Cygwin Build Problems 1. Google for "qemu windows download" and download some pre-built QEMU binaries. I found 0.14.0 here: http://dietpc.org/windows/qemu/, or - 2. Try building QEMU with MingGW + 2. Try building QEMU with MingGW (I understand that this is difficult). + + NOTE: As of this writing, I have not been successful getting ANY pre-built + version of QEMU to work successful; they all fail immediately with + initialization errors. Running QEMU ------------ diff --git a/nuttx/configs/qemu-i486/ostest/defconfig b/nuttx/configs/qemu-i486/ostest/defconfig index 8ab964e79..e7541be17 100644 --- a/nuttx/configs/qemu-i486/ostest/defconfig +++ b/nuttx/configs/qemu-i486/ostest/defconfig @@ -49,6 +49,9 @@ # CONFIG_DRAM_SIZE - Describes the installed DRAM. # CONFIG_DRAM_START - The start address of DRAM (physical) # CONFIG_DRAM_END - Last address+1 of installed RAM +# CONFIG_ARCH_NOINTC - define if the architecture does not +# support an interrupt controller or otherwise cannot support +# APIs like up_enable_irq() and up_disable_irq(). # CONFIG_ARCH_IRQPRIO - Set if the architecture supports interrupt prioritization # CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt # stack. If defined, this symbol is the size of the interrupt @@ -78,6 +81,7 @@ CONFIG_BOARD_LOOPSPERMSEC=999 CONFIG_DRAM_SIZE=0x00100000 CONFIG_DRAM_START=0x00100000 CONFIG_DRAM_END=(CONFIG_DRAM_START+CONFIG_DRAM_SIZE) +CONFIG_ARCH_NOINTC=y CONFIG_ARCH_STACKDUMP=y CONFIG_ARCH_LEDS=n CONFIG_ARCH_BUTTONS=n diff --git a/nuttx/fs/fat/fs_fat32util.c b/nuttx/fs/fat/fs_fat32util.c index 43a351faa..3233ec707 100644 --- a/nuttx/fs/fat/fs_fat32util.c +++ b/nuttx/fs/fat/fs_fat32util.c @@ -1,7 +1,7 @@ /**************************************************************************** * fs/fat/fs_fat32util.c * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009, 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * References: @@ -556,9 +556,6 @@ void fat_semgive(struct fat_mountpt_s *fs) uint32_t fat_systime2fattime(void) { -#ifdef CONFIG_CPP_HAVE_WARNING -# warning "Time not implemented" -#endif return 0; } @@ -580,9 +577,6 @@ uint32_t fat_systime2fattime(void) time_t fat_fattime2systime(uint16_t fattime, uint16_t fatdate) { -#ifdef CONFIG_CPP_HAVE_WARNING -# warning "Time not implemented" -#endif return 0; } diff --git a/nuttx/include/nuttx/arch.h b/nuttx/include/nuttx/arch.h index 3063f22c9..f81a497b8 100644 --- a/nuttx/include/nuttx/arch.h +++ b/nuttx/include/nuttx/arch.h @@ -1,7 +1,7 @@ /**************************************************************************** * include/nuttx/arch.h * - * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without diff --git a/nuttx/sched/env_getenvironptr.c b/nuttx/sched/env_getenvironptr.c index ab7fe9816..8fad450cd 100644 --- a/nuttx/sched/env_getenvironptr.c +++ b/nuttx/sched/env_getenvironptr.c @@ -1,7 +1,7 @@ /**************************************************************************** * env_getenvironptr.c * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. + * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without @@ -79,10 +79,6 @@ FAR char **get_environ_ptr( void ) * char ** return value. */ -#ifdef CONFIG_CPP_HAVE_WARNING -# warning "get_environ_ptr not Implemented" -#endif - return NULL; #else diff --git a/nuttx/sched/timer_getoverrun.c b/nuttx/sched/timer_getoverrun.c index 07095a13c..6f8c87672 100644 --- a/nuttx/sched/timer_getoverrun.c +++ b/nuttx/sched/timer_getoverrun.c @@ -1,7 +1,7 @@ /******************************************************************************** * timer_getoverrun.c * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. + * Copyright (C) 2007, 2008, 2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without @@ -102,11 +102,7 @@ int timer_getoverrun(timer_t timerid) { -#ifdef CONFIG_CPP_HAVE_WARNING -# warning "timer_getoverrun not Implemented" -#endif - - *get_errno_ptr() = ENOSYS; + errno = ENOSYS; return ERROR; } |