Permalink
Switch branches/tags
Nothing to show
Commits on Oct 11, 2009
Commits on Oct 10, 2009
  1. Merge branch 'master' of git://github.com/wolfwood/xomb

    wilkie committed Oct 10, 2009
    Conflicts:
    	build/iso/boot/testapp
  2. D apps now come with _start.

    wilkie committed Oct 10, 2009
Commits on Oct 3, 2009
  1. Added empty fork syscall.

    wilkie committed Oct 3, 2009
  2. Removed some debug!

    wilkie committed Oct 3, 2009
Commits on Sep 26, 2009
  1. Added the beginnings of a round robin scheduler. Added an configurable

    wilkie committed Sep 26, 2009
    abstraction for the scheduler implementation. Fixed IoOut!() mixin for
    32 bit out operand size. Added zeroing of BSS to D minimum runtime.
Commits on Sep 19, 2009
  1. Moved C static libs to /user/c/lib/*. With James' (wolfwood) work we

    wilkie committed Sep 19, 2009
    have a working C malloc implementation (newlib).
  2. Added some code for exit().

    wilkie committed Sep 19, 2009
  3. Fixed system call bug.

    wilkie committed Sep 19, 2009
  4. Stubbed exit() system call.

    wilkie committed Sep 19, 2009
  5. Added syscall and D runtime static libraries for C applications to bind

    wilkie committed Sep 19, 2009
    with D facilities. The C test app calls a D system call.
  6. Adding test app for C.

    wilkie committed Sep 19, 2009
  7. For Speak Like a Pirate Day, the user app prints to the screen and

    wilkie committed Sep 19, 2009
    speaks like a pirate.
  8. Added a usermode text-mode console driver for outputting to the screen

    wilkie committed Sep 19, 2009
    entirely within userspace. Cleaned up some other code, fixed small bug
    in console driver (it thought it had 24 lines instead of 25... weird).
Commits on Sep 17, 2009
  1. System calls are now operational. Next will be a syscall for requesting

    wilkie committed Sep 17, 2009
    the usage of the console. Then, a userspace console driver can be
    written.
Commits on Sep 15, 2009
  1. The Kernel now executes and jumps to userspace for a single application.

    wilkie authored and wolfwood committed Sep 13, 2009
    Which makes it now... a kernel! Happy Programmer's Day.
    
    An Environment contains the code used to execute the application. The
    Scheduler picks a new environment to execute. There is some architecture
    specific context information that is called naively a PageTable.
    
    The Loader creates an environment by asking the scheduler for a context
    and then it allocates space for the code and copies it there. It then
    reports to the Environment where it lives and where the entry point is.
    The Environment will then set up the initial context. The Kernel will
    run the environment by jumping to the entry point with an iret.
    
    It uses interrupts (iretq) to jump to userspace. Only interrupts can
    preempt the application. System calls are non-blocking (and not
    functional as of yet).
    
    Signed-off-by: James Larkby-Lahet <transmethyl@gmail.com>
  2. The architecture has a Context namespace that will cover context

    wilkie committed Sep 15, 2009
    switching and other architecture dependent things relating to
    Environments. This version of XOmB runs a test C application.
    
    A Segment struct contains an abstraction for loading executable
    segments. The executable loader can be polled for each segment
    individually which can then be loaded using the architecture's Context
    namespace.
    
    It has been cleaned up with better logging.
Commits on Sep 13, 2009
  1. The Kernel now executes and jumps to userspace for a single application.

    wilkie committed Sep 13, 2009
    Which makes it now... a kernel! Happy Programmer's Day.
    
    An Environment contains the code used to execute the application. The
    Scheduler picks a new environment to execute. There is some architecture
    specific context information that is called naively a PageTable.
    
    The Loader creates an environment by asking the scheduler for a context
    and then it allocates space for the code and copies it there. It then
    reports to the Environment where it lives and where the entry point is.
    The Environment will then set up the initial context. The Kernel will
    run the environment by jumping to the entry point with an iret.
    
    It uses interrupts (iretq) to jump to userspace. Only interrupts can
    preempt the application. System calls are non-blocking (and not
    functional as of yet).
Commits on Sep 12, 2009
  1. Adding user runtime and user application test source. Added ELF

    wilkie committed Sep 12, 2009
    implementation from old source... it needs cleaning. Cleaned up some
    files.
Commits on Aug 14, 2009
  1. Interrupts now enabled. I need to turn off that PIT timer. It wrecks my

    wilkie committed Aug 14, 2009
    day. Also, LDC should fix the 'iretq' bug I found.