summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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>
33 hourssys: cpuvar: Mark machine dependent routines as MDIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
34 hourskern: init: Add L5 bootup logoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
34 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>
38 hourstools: Add script to get hardware documentationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
38 hoursMerge branch 'dev'Ian Moffett
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>
39 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>
39 hourskernel: elf: Load ELFs into memoryIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
39 hourskernel: elf: Use memcpy() and remove memset() callIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
39 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>
39 hourskern: elf: Default to PROT_READ | PROT_USERIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
39 hourskern: elf: Don't load blank program headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
39 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>
39 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>
43 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>
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>
44 hourssys: Add sys/elf.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: proc: Add initial proc init + PCB codeIan Moffett
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>
2 dayskern/amd64: mmu: Add mmu_new_vas() routineIan Moffett
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>
2 dayssys: Add sys/atomic.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayssys: mman: Add PROT_USER flagIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: os: Introduce support for OMAR initramfsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: vm_map: Add guard pages at end of mappingsIan Moffett
Place a guard page at the end of every mapping to catch overflows before they start corrupting the system. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: vm: Add MI vm_map() functionIan Moffett
Introduce a machine independent mechanism to map multiple pages through the new vm_map() function Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: lapic: Panic if MMIO base has movedIan Moffett
Verify the edge case where firmware may want to move/remap the Local APIC MMIO base as we are making an assumption that the base starts at 0xFEE00000. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: cpu: Add initial SMP startup codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayssys: limits: Add CPU_MAX limitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysbuild: boot: Show boot menu on startupIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: Add initial scheduler skeletonIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: Move i8259/uart init to chipset_init()Ian Moffett
These are chipset specific and independent of the processor, therefore they must only be initialized once. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: gdt: Load GDT before setting GS_BASEIan Moffett
If we update the GDTR after setting GS_BASE, we wont be referencing any valid data anymore. Switch out the GDTR early on. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayssys: Add sys/queue.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: lapic: Add LAPIC timer supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: intel: Add i8254 PIT driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: ioapic: Add one to nredirIan Moffett
The redirection entry count within the IOAPICVER register is zero-based, therefore one must be added to make it absolute. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskernel/amd64: Add task state segment logicIan Moffett
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>
3 dayskern/amd64: lapic: Initialize percore Local APICIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: boot: Initialize I/O APIC *once*Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>