summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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 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 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>
38 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>
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>
3 dayskernel/amd64: Move ioapic_read_madt() to acpi_subrIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysbuild: Clear out sys/target on distcleanIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: ioapic: Add IRQ to vector routingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: Improve ioapic_read_madt() scalabilityIan Moffett
This commit improves the scalability of ioapic_read_madt() while retaining as much simplicity as possible. - Add callback argument - Add optional argument to callback ioapic_read_madt() now returns the value given back by a callback. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: os_init: Move boot message at topIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: Add I/O APIC initialization codeIan Moffett
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>
3 dayskern: Add sys/mmio.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: Initialize ACPI early on during bootIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: Add initial ACPI implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>