summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
14 hourskern/amd64: Implement syscall domains and windowsIan Moffett
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>
16 hourskern: Add syscall entry and SYS_exit syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
16 hourssys: proc: Wrap structures in _KERNEL guardIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
17 hourskern: init: Add copyrightIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
17 hourskern/amd64: proc: Add proc_kill() routineIan Moffett
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>
17 hourskern: init: Load /usr/sbin/init after bootIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
17 hoursbuild: 'cmd/test' -> 'cmd/init'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
17 hourskern/amd64: mmu: Add mmu_free_vas() to cleanup VASIan Moffett
Introduce a new resource deallocation function that destroys a specified virtual address space. Signed-off-by: Ian Moffett <ian@osmora.org>
18 hourssys: proc: Add docs for extra proc fieldsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
18 hourscmd: test: Use and link with libc stubIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
18 hourslib: Add initial libc stubIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
19 hoursbuild: Add user.mkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
20 hoursdocs: Add build instructionsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
20 hourskern/amd64: proc: Add initial context switch logicIan Moffett
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>
20 hourskern: sched: Write proc result in sched_deq()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
20 hoursbuild: Add test program to src/cmd/Ian Moffett
Add a testing program for ELF loading purposes. This is to be removed in later versions of Lunos Signed-off-by: Ian Moffett <ian@osmora.org>
32 hourskern/amd64: cpu: Add process load balancingIan Moffett
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>
32 hourskernel/amd64: mp: Use NULL instead of wrappingIan Moffett
It is best to return NULL when there is no next CPU instead of wrapping so we have an indicator at where the list ends. Signed-off-by: Ian Moffett <ian@osmora.org>
32 hourssys: cpuvar: Mark machine dependent routines as MDIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
33 hourskern: init: Add L5 bootup logoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
33 hourskern: Make memmap dump configurable via kconfIan Moffett
Use the OSMORA kernel configuration framework to add options for L5Lunos to parse during early startup. Signed-off-by: Ian Moffett <ian@osmora.org>
34 hourskern/amd64: mp: Add cpu_get() routineIan Moffett
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>
34 hoursbuild: Create sysroot on bootstrapIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
34 hourskern/amd64: mp: Use zero-based index in corelistIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourskern/amd64: mdcpu: Document GDT fields in mdcoreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourskern/amd64: cpu: Make GDT per-cpu to match TSSIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourskern/amd64: proc: Do not kick proc in md_set_ip()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourskern/amd64: tss: Fix stack allocation sizeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
36 hourskern/amd64: cpu: Initialize platform before LAPICIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hourstools: Add script to get hardware documentationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hoursMerge branch 'dev'Ian Moffett
37 hoursreamde: Add creditIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hoursreadme: Fix typoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
37 hourskern: proc: Add initialization code for ring 3Ian Moffett
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>
38 hoursreamde: Add creditIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hoursreadme: Fix typoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hourskern: proc: Add initialization code for ring 3Ian Moffett
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>
38 hourskernel: elf: Load ELFs into memoryIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hourskernel: elf: Use memcpy() and remove memset() callIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hourskern: elf: Fix frame calcs + style cleanupIan Moffett
Allocate more than one frame that exists and increment by one if zero. We also did some style fix ups, added an #undef and a break. Signed-off-by: Ian Moffett <ian@osmora.org>
38 hourskern: elf: Default to PROT_READ | PROT_USERIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hourskern: elf: Don't load blank program headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hourskern/amd64: Add 'curproc' field to 'pcore'Ian Moffett
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>
38 hourskern/amd64: proc: Store trapframe in PCBIan Moffett
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>
39 hourskern/amd64: mmu: Condence update into one line + fixIan Moffett
Condence the page table write into a single line and point the next table as a virtual address Signed-off-by: Ian Moffett <ian@osmora.org>
42 hourskern: vm: Implement lazy allocation for vm_map()Ian Moffett
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>
42 hoursreadme: Add additional hw to 'progress'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
43 hourskern/amd64: mmu: Add routine to switch VASIan Moffett
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>
43 hourskern/amd65: mmu: Do not pass virtual address overIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
44 hourskern: Add initial ELF loader sourcesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>