homeOS is a small portable RTOS. x86 version has a working scheduler. ARM version is showing signs of life. C code is able to use UART PL011 to print out messages. RTC, Interrupts, Scheduler on ARM next step.
Be the first to post a text review of homeOS. Rate and review a project by clicking thumbs up or thumbs down in the right column.
1. Ability to boot in qemu. 2. Fix to doIRQ, mask used was incorrect. 3. Fix to the problem that a new task was not scheduling out. The reason was that archSwitchTo was doing a ret into the start of the new task, unlike regular task switches, this does not cause a IRET, which pops back eflags, that would have resulted in interrupt flag to be set. 4. Implementation of archLockScheduler/archUnlockScheduler 5. Cleanup of code/ better arch/independent abstraction. 6. Addition of ARM Architecture directory and start.S that transfers control to C source 7. Clean up of makefile/linker script, so as to allow arm-cross- compile. New script configure to configure makefiles/linker scripts for the correct target. 8. Fixed linker_script.arm.lds and -Ttext value to 0x10000 instead of 0x0. qemu loads at 0x10000 (appears like linux wants it there).
1. Ability to boot in qemu. 2. Fix to doIRQ, mask used was incorrect. 3. Fix to the problem that a new task was not scheduling out. The reason was that archSwitchTo was doing a ret into the start of the new task, unlike regular task switches, this does not cause a IRET, which pops back eflags, that would have resulted in interrupt flag to be set. 4. Implementation of archLockScheduler/archUnlockScheduler 5. Cleanup of code/ better arch/independent abstraction. 6. Addition of ARM Architecture directory and start.S that transfers control to C source 7. Clean up of makefile/linker script, so as to allow arm-cross- compile. New script configure to configure makefiles/linker scripts for the correct target. 8. Fixed linker_script.arm.lds and -Ttext value to 0x10000 instead of 0x0. qemu loads at 0x10000 (appears like linux wants it there).
1. Ability to boot in qemu. 2. Fix to doIRQ, mask used was incorrect. 3. Fix to the problem that a new task was not scheduling out. The reason was that archSwitchTo was doing a ret into the start of the new task, unlike regular task switches, this does not cause a IRET, which pops back eflags, that would have resulted in interrupt flag to be set. 4. Implementation of archLockScheduler/archUnlockScheduler 5. Cleanup of code/ better arch/independent abstraction. 6. Addition of ARM Architecture directory and start.S that transfers control to C source 7. Clean up of makefile/linker script, so as to allow arm-cross- compile. New script configure to configure makefiles/linker scripts for the correct target. 8. Fixed linker_script.arm.lds and -Ttext value to 0x10000 instead of 0x0. qemu loads at 0x10000 (appears like linux wants it there).
1. Ability to boot in qemu. 2. Fix to doIRQ, mask used was incorrect. 3. Fix to the problem that a new task was not scheduling out. The reason was that archSwitchTo was doing a ret into the start of the new task, unlike regular task switches, this does not cause a IRET, which pops back eflags, that would have resulted in interrupt flag to be set. 4. Implementation of archLockScheduler/archUnlockScheduler 5. Cleanup of code/ better arch/independent abstraction. 6. Addition of ARM Architecture directory and start.S that transfers control to C source 7. Clean up of makefile/linker script, so as to allow arm-cross- compile. New script configure to configure makefiles/linker scripts for the correct target. 8. Fixed linker_script.arm.lds and -Ttext value to 0x10000 instead of 0x0. qemu loads at 0x10000 (appears like linux wants it there).
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?