Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Commits on Oct 11, 2009
  1. @wilkie
Commits on Oct 10, 2009
  1. @wilkie

    Merge branch 'master' of git://github.com/wolfwood/xomb

    wilkie authored
    Conflicts:
    	build/iso/boot/testapp
  2. @wolfwood
  3. @wilkie

    D apps now come with _start.

    wilkie authored
  4. @wilkie
  5. @wilkie
Commits on Oct 3, 2009
  1. @wolfwood
  2. @wolfwood
  3. @wilkie
  4. @wilkie
  5. @wilkie
  6. @wilkie

    Added empty fork syscall.

    wilkie authored
  7. @wolfwood
  8. @wolfwood
  9. @wilkie

    Removed some debug!

    wilkie authored
  10. @wolfwood
  11. @wilkie
Commits on Sep 26, 2009
  1. @wilkie

    Added the beginnings of a round robin scheduler. Added an configurable

    wilkie authored
    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. @wilkie

    Moved C static libs to /user/c/lib/*. With James' (wolfwood) work we

    wilkie authored
    have a working C malloc implementation (newlib).
  2. @wilkie

    Added some code for exit().

    wilkie authored
  3. @wilkie

    Fixed system call bug.

    wilkie authored
  4. @wilkie
  5. @wilkie

    Stubbed exit() system call.

    wilkie authored
  6. @wilkie
  7. @wilkie

    Added syscall and D runtime static libraries for C applications to bind

    wilkie authored
    with D facilities. The C test app calls a D system call.
  8. @wilkie

    Adding test app for C.

    wilkie authored
  9. @wilkie
  10. @wilkie
  11. @wilkie

    Added a usermode text-mode console driver for outputting to the screen

    wilkie authored
    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. @wilkie

    System calls are now operational. Next will be a syscall for requesting

    wilkie authored
    the usage of the console. Then, a userspace console driver can be
    written.
Commits on Sep 15, 2009
  1. @wilkie @wolfwood

    The Kernel now executes and jumps to userspace for a single application.

    wilkie authored wolfwood committed
    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. @wilkie

    The architecture has a Context namespace that will cover context

    wilkie authored
    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. @wilkie

    The Kernel now executes and jumps to userspace for a single application.

    wilkie authored
    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. @wilkie

    Adding user runtime and user application test source. Added ELF

    wilkie authored
    implementation from old source... it needs cleaning. Cleaned up some
    files.
Commits on Aug 14, 2009
  1. @wilkie

    Interrupts now enabled. I need to turn off that PIT timer. It wrecks my

    wilkie authored
    day. Also, LDC should fix the 'iretq' bug I found.
Something went wrong with that request. Please try again.