Age | Commit message (Collapse) | Author |
|
A syscall domain in the L5 kernel is a fixed list of "syscall windows",
each syscall window represents a specific platform and/or syscall model.
A platform latch within each domain determines which window / platform
should be visible. Since syscall domains are per-process, these changes
are local to their respective processes.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add a new function to kill processes and clean them up. They will then
be marked as EXITING and it is up to the parent to do the rest.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce a new resource deallocation function that destroys a specified
virtual address space.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces new functions that will be useful for
having multiple processes run on the system.
- Add md_proc_yield()
- Add md_proc_kick()
- Add md_sched_switch()
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces load balancing of processes between cores by
using a scalable "CPU arbiter" which decides how to fetch the next core
descriptor.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces a new cpu_get() function to acquire a specific
CPU by using a logical ID as an index.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces several new functions for switching the processor
into a ring three context along with its task's respective process
descriptors to be implemented correctly.
- Add md_set_ip() to update proc instruction pointer
- Add stack definitions
- Add stack mapping logic
...
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add a current processor field to the processor core descriptor in order
to keep track of which process is currently running.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Store a trapframe in the process control block so that state may be
saved and restored between contexts
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce lazy allocation in the vm_map() function. When passing a zero
value to any of the base address fields of the map spec, allocate our
own memory.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces a new mmu_write_vas() function to allow the
caller to change the virtual address space used by the current
processor.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the initial logic for putting process descriptors
in an initialized state. This commit also introduces the process control
block definition.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the ability to create new virtual address spaces
for user programs and a zeroed lower half.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce a machine independent mechanism to map multiple pages through
the new vm_map() function
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit implements the task state segment and splits up processor
initialization into two seperate stages. The cpu_conf() function is
apart of the first stage and sets up things that should be going by the
time the kernel is started / early init. The cpu_init() function runs
later functions that initialize further platform specific subsystems.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the initial I/O APIC driver code that does basic
initialization i.e., grabbing base address from MADT, masking each pin,
etc.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
To avoid interrupt conflicts on some machines with the I/O APIC, disable
the legacy i8259 chip by default
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
- Wrap on X overflow
- Wrap on Y overflow
- Keep track of max console width and height
- Add console enable/disable control
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|