summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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>
3 dayskern: acpi: Add ACPI table definitionsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: boot: Disable the i8259 chip on bootIan Moffett
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>
3 daysvm: physseg: Use new OS nameIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: os_init: Initialize console earlier onIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: Add exception handlersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: Add traprame related MD headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: Add interrupt descriptor table coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: mmu: Add creddit blockIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: cons: Handle ASCII linefeed charIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayssys: Add sys/ascii.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>