summaryrefslogtreecommitdiff
path: root/src/sys/arch
AgeCommit message (Collapse)Author
3 dayskern/amd64: Init LAPIC before PCI bus driverIan Moffett
A lot of PCI(e) devices rely in MSI-X which pokes the Local APIC via MMIO, we'll want the LAPIC up before PCI(e) Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern: proc: Implement process sleeping and wakingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: Try to continue if no proc on switchIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayskern/amd64: Set RBP when kicking processesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern/amd64: reboot: Add Intel PCH RST_CNT methodIan Moffett
Introduces support for platform reset via the RST_CNT control register on Intel chipsets that support it. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern/amd64: reboot: Add I8042_REBOOT optionIan Moffett
Adds I8042_REBOOT config option for the AMD64 port as a workaround against certain hardware that doesn't support the i8042 reset Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern/amd64: cpu: Get processor family IDIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern/amd64: Identify processor vendor in mdcoreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern/amd64: Add reboot functionIan Moffett
Add a function that reboots the system by attempting the softest method and incrementally becoming forceful if previous methods fail Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskern/amd64: pci: Handle 64-bit BAR addressesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskern/amd64: bus: Use higher half VA for MMIOIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskern: proc: Remove redundant flag setIan Moffett
The PROC_EXITING flag is already set within the MI layer of the process management core Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskern/amd64: proc: Mark process as exiting on killIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: proc: Add initial penv block supportIan Moffett
This commit introduces the initial support for the process environment block and implements argv and argc. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern/amd64: Attempt to dequeue on a cores first goIan Moffett
When a CPU core first starts up, it has no proceses to assign to itself. This commit ensures that the processor will right away start trying to find tasks to grab from its runqueue. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern/amd64: Handle integrated capslock LEDIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern/amd64: Handle special keys (shift, caps, etc)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern/amd64: 'i8042.port.0' -> 'input.igkbd'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern/amd64: isa: Add i8042 read timeoutIan Moffett
Add a timeout so that if data never arrives, the system doesn't get locked up. Signed-off-by: Ian Moffett <ian@osmora.org>
7 dayskern/amd64: isa: Add locks to keybuf operationsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: Add PS/2 scancode buffering + IO tapIan Moffett
This commit introduces scancoding buffering as well as an I/O tap so that it may be exposed outside of the driver Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern/amd64: isa: Add PS/2 keyboard prototypeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: cpu: Implement 'ioapic_common' stubIan Moffett
This implementation walks through the entire table of registered interrupt handlers and calls each driver handler. The driver is to return a value of 1 if the interrupt is theirs and has been handled, otherwise it is to return 0. The handling core is to respoond to a 1 by exiting the table walk early, and responds to a 0 by continuing. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern/amd64: Copy handler to `ih_new'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern/amd64: intr: Zero the handler structureIan Moffett
Ensure no uninitialized garbage ends up in the handler structure after we've allocated it. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskernel/amd64: intr: Make interrupt table globalIan Moffett
This commit makes the interrupt table global so it can be accessed through assembly. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern/amd64: Reserve 64 vectors for I/O APIC inputsIan Moffett
This commit reserves the first 64 vectors for the I/O APIC input lines. During an IRQ, each handler will be called to see which one handles it. Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern/amd64: Add interrupt registration frameworkIan Moffett
This commit introduces the interrupt registration framework for L5 and accounts for I/O APIC IRQ inputs, and interrupt priority levels encoded within bits 7:4 of the interrupt vector Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern/amd64: ioapic: Add ISA IRQ to GSI conversionIan Moffett
Introduce a helper function to convert legacy ISA IRQ numbers to the GSI numbers assigned to an I/O APIC pin Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskern/amd64: mp: Initialize sched queue per coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 daysnp: codegen: Support returning symbols / stringsIan Moffett
Introduce support for returning symbols or strings in memory by using the symbol table and REX prefixes for 64-bit register accesses Signed-off-by: Ian Moffett <ian@osmora.org>
13 daysnp: piir: Add bitmap based register allocationIan Moffett
Introduce register allocation via a bitmap where each bit corresponds to a specific register index. Signed-off-by: Ian Moffett <ian@osmora.org>
14 daysnp/amd64: piir: Add 32-bit register ID listIan Moffett
This commit adds a 32-bit register ID list as well as the beginning of ABI specific values Signed-off-by: Ian Moffett <ian@osmora.org>
14 daysnp: backend: Add backend pirho sourcesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-28build: Use clang during early stateIan Moffett
Use clang during early state until we configure our own cross compiler for L5 Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-28kern: cpu: Fix typo in ap_entry()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-27kern/amd64: build: Add stub MD confIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-27kern/amd64: mmu: Map with zero if prot is also zeroIan Moffett
To ensure that all residual data does not remain for the mapping in its table, we write a flat zero if prot is also zero i.e., no permissions Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-27kern/amd64: mmu: pmap_set_cache() -> pmap_set_cache()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-27kern/amd64: panic: Halt all processors on panicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-26kern/amd64: cpu: Add cpu_halt_others() functionIan Moffett
Add function to halt all processor cores on the machine excluding self. This may be used for emergency conditions on the system. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-26kern/amd64: cpu: Add CPU halt ISR for IPIsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-26kern/amd64: cpu: Enable interrupts upon CPU startupIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-26kern/amd64: Support APIC inter-processor interruptsIan Moffett
This commit introduces support for sending inter-processor interrupts on the mainbus to other cores on the machine. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23kern/amd64: proc: Deallocate mapped frames on exitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23usr/amd64: Discard .eh_frame and .note sectionsIan Moffett
These sometimes cause issues so we are better off just stripping them from the final binary. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: bus: Simply return bus_space, don't remapIan Moffett
As of now, the bootloader handles setting up the MMIO regions and we'll need huge page support (2 megs) for reassigning MMIO space Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: clkdev: Add callback to get elapsed timeIan Moffett
Add new clock device callback to get the elapsed time from the timer being initialized, in microseconds. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern/amd64: hpet: Register HPET with clkdevIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern/amd64: Add initial HPET driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>