Commit Graph

  • bb65def53c XHCI: set dcbaap d josh 2025-05-23 10:16:49 -04:00
  • 0d970a6d25 XHCI: allocate scratchpad buffers josh 2025-05-23 10:13:54 -04:00
  • ea159db100 XHCI: allocate device context buffer for each slot josh 2025-05-23 09:21:48 -04:00
  • e3f27812ad Allocate memory regions for XHCI josh 2025-02-23 20:52:36 -05:00
  • d78669df9c Check for pkg-config josh 2025-02-23 20:46:31 -05:00
  • 7313b01732 Allow allocating arbitrarily aligned physical memory regions josh 2025-02-21 15:31:48 -05:00
  • b2497d1ee0 HIPPO: store memory regions in addition to individual free pages josh 2025-02-21 12:31:03 -05:00
  • 30078417b6 Turn off test thread josh 2025-02-20 15:50:57 -05:00
  • c18cbf7be3 Remove unsupported avx CPU flags josh 2025-02-20 11:30:53 -05:00
  • 2d95371aa1 Add hulk.volatile josh 2024-12-03 00:18:45 -05:00
  • 13b6f39e1a Add OVMF search location josh 2024-12-02 10:54:02 -05:00
  • 30aedfc97b Map framebuffer with write-combining access mode to speed up physical hardware josh 2024-07-29 00:01:47 -04:00
  • 26bb071b4d Update base address to build with kernel code model josh 2024-07-28 23:14:24 -04:00
  • 3a75e0505f Prepare for future XHCI setup josh 2024-02-20 11:41:23 -05:00
  • a02df12924 Add XHCI.reset() josh 2024-02-20 11:23:12 -05:00
  • 699f53ac15 Initialize USB after enabling interrupts so Time can be used josh 2024-02-20 11:17:29 -05:00
  • 1119855215 Fix mapping PCI regions as writable josh 2024-02-20 11:17:01 -05:00
  • 0c82250bd2 Fix Time.msleep() when inlined in a loop josh 2024-02-20 11:16:34 -05:00
  • 2a66443a49 Add DoorbellRegister comment josh 2024-02-09 13:02:05 -05:00
  • 9874802ee4 Add new threads to runnable threads list josh 2023-12-08 12:16:35 -05:00
  • 44a305721e Allow use of {suspend,resume}_interrupts() from within an ISR josh 2023-12-01 07:54:37 -05:00
  • 73f4d6b728 Rename hulk.idt to hulk.him josh 2023-12-01 07:49:52 -05:00
  • 0efe8af5aa Commonize ISR handling as much as possible josh 2023-11-30 20:32:06 -05:00
  • edc9b2c3ff Remove thread test josh 2023-11-28 10:47:44 -05:00
  • c8a9fcf0d5 idt: add INT_KERNEL_SWINT josh 2023-11-28 10:30:16 -05:00
  • dc231741b7 cpu: add swint() josh 2023-11-28 10:30:03 -05:00
  • fbaf9df59f Add kernel threading test josh 2023-11-27 20:07:08 -05:00
  • 58a74e4859 Fix PCI device list josh 2023-11-27 19:37:14 -05:00
  • cc1753a75d Move system time display to Rtc.initialize() josh 2023-11-27 19:36:04 -05:00
  • 3c8587acf5 Redesign List as a mixin template josh 2023-11-27 15:30:09 -05:00
  • db2814596b Move PIT test to test module josh 2023-11-25 21:01:46 -05:00
  • 8cfa7bc009 Add hulk.thread module josh 2023-11-25 20:58:11 -05:00
  • d100ab53a8 Add read_rflags() josh 2023-11-25 13:02:27 -05:00
  • 35e5aa2ee5 Add hulk.test module to test kernel functionality josh 2023-11-22 20:47:21 -05:00
  • cd9a3a7284 Rework List to allow removing nodes josh 2023-11-22 20:46:48 -05:00
  • 294500fb70 Squelch linker warning about a RWX segment josh 2023-11-21 12:13:29 -05:00
  • bb4404df23 Add suspend_interrupts() and resume_interrupts() josh 2023-11-21 11:36:22 -05:00
  • aa5ca83889 Disable the red zone josh 2023-11-20 16:18:41 -05:00
  • f2839cdd0f Handle all APIC IRQ redirects specified in MADT josh 2023-11-07 17:19:56 -05:00
  • 31bf82e2ae Store all registers in interrupt stack frame josh 2023-11-02 16:32:42 -04:00
  • 4f9206af91 Build with debugging symbols josh 2023-11-02 11:54:08 -04:00
  • 2eec448653 Update gcc and binutils josh 2023-11-02 11:53:35 -04:00
  • 9932b92963 Change orange screen of death to red bar josh 2023-11-02 10:34:29 -04:00
  • 5d8343ed40 Preserve registers and align stack in interrupt handlers josh 2023-11-02 10:29:27 -04:00
  • 2fa4193517 Pass exception stack frame pointer to exception handler josh 2023-11-01 21:22:54 -04:00
  • 01c73f8474 Add check that PIT ISR is firing josh 2023-11-01 14:45:43 -04:00
  • 7264a31ff3 Rework scanning MADT table entries josh 2023-10-31 13:29:23 -04:00
  • c0a00b528e Run in QEMU with 4 CPUs by default josh 2023-10-31 11:56:39 -04:00
  • 9f8a4ea100 Add hulk.time and msleep() josh 2023-10-26 16:18:26 -04:00
  • 6251fee3ff Store item in List rather than pointer to item josh 2023-10-25 21:28:27 -04:00
  • f5c6a35cef Move MCFG ACPI table processing from ACPI to PCI josh 2023-10-25 21:18:36 -04:00
  • e32282f6f0 Move MADT table processing from ACPI to APIC josh 2023-10-25 21:11:21 -04:00
  • 2b87792c67 Store ACPI table pointers in list josh 2023-10-25 19:13:36 -04:00
  • e480bd0ed0 Enable PIT ISR to count milliseconds josh 2023-10-25 12:02:44 -04:00
  • e357f2ba44 Initialize USB controllers from Usb instead of Pci josh 2023-10-24 10:44:48 -04:00
  • f8f9b72588 Store PCI addresses and types as 32-bit uints josh 2023-10-24 10:25:16 -04:00
  • d86bf47211 Store a List of discovered PCI devices josh 2023-10-24 08:49:11 -04:00
  • 757f8f8c65 Make A1.allocate() zero returned memory josh 2023-10-24 08:48:26 -04:00
  • 8303451929 Add List class josh 2023-10-24 08:48:00 -04:00
  • 1c6c922b45 Add Pci.Type struct josh 2023-10-22 21:30:36 -04:00
  • 7632445d43 Add console escape sequences to draw headings josh 2023-10-21 22:13:20 -04:00
  • 601ea50e4b Console: delay newline rendering until non newline character josh 2023-10-21 21:21:46 -04:00
  • 722494af44 Console: do not index nonexistent character codes josh 2023-10-21 21:04:18 -04:00
  • e1f38bd5ea Initialize RTC after APIC josh 2023-10-21 20:47:15 -04:00
  • bcf1bd3bde HELLO: Zero HULK BSS region after mapping it josh 2023-10-21 20:46:27 -04:00
  • f7dde241ad Split console into two pages josh 2023-10-21 20:15:11 -04:00
  • 8638840cd8 Add console header line josh 2023-10-21 17:08:45 -04:00
  • 4273c703e9 writef: split into writef() and writefv() josh 2023-10-21 16:45:41 -04:00
  • b2597fb5da Add hulk.ver module josh 2023-10-18 19:33:43 -04:00
  • 291ba2bc1c Remove xHCI TODO josh 2023-10-13 14:17:34 -04:00
  • 71bc3543a1 fontgen: show more error info for invalid character metrics josh 2023-09-26 12:00:22 -04:00
  • a87d24d417 Reduce kernel console font size slightly josh 2023-09-26 09:59:22 -04:00
  • 6fcc6da022 Remove APIC debug outputs josh 2023-09-24 11:03:21 -04:00
  • dc07fd0255 Document xHCI runtime registers and interrupter registers josh 2023-09-23 19:48:14 -04:00
  • eb0a4b2a4d Document xHCI port registers josh 2023-09-23 19:28:35 -04:00
  • 0ae3c6c96d Document xHCI operational registers josh 2023-09-23 11:59:20 -04:00
  • 4814b51daf Dump xHCI extended capabilities josh 2023-09-19 11:07:18 -04:00
  • 14bb3adf37 Document xHCI capability registers josh 2023-09-19 11:07:02 -04:00
  • cda45b205d Remove legacy PCI bus scanning josh 2023-09-17 16:13:37 -04:00
  • cfd42550fc Add struct definitions for all PCI header types josh 2023-09-17 15:22:58 -04:00
  • 673ce8f097 Scan PCI devices via MCFG table josh 2023-09-17 14:49:02 -04:00
  • ba0befa21b Check that needed ACPI tables are found josh 2023-09-17 13:40:26 -04:00
  • fa4de31aa4 Store pertinent ACPI table pointers josh 2023-09-17 11:22:58 -04:00
  • 3412d9ece9 Add Klog.fatal_error() josh 2023-09-17 11:14:24 -04:00
  • e8978c73f2 Move PCI initialization after ACPI/APIC/RTC josh 2023-09-17 11:00:48 -04:00
  • f79b0098c5 Map ACPI tables as disable cache + no execute josh 2023-09-17 09:12:20 -04:00
  • 10d7e7f0c6 Move parsing of ACPI tables into table structures josh 2023-09-17 09:08:01 -04:00
  • e088f942d1 Use Acpi.Header in ACPI table structures josh 2023-09-17 08:53:34 -04:00
  • 6514af8e94 Begin parsing MCFG ACPI table josh 2023-09-17 08:41:08 -04:00
  • 602a7525d2 Add %p format specifier for printing pointers josh 2023-09-16 17:09:55 -04:00
  • 617b861524 Size to hulk.elf.size josh 2023-09-15 13:38:25 -04:00
  • 2f968de7ed Disassemble to hulk.elf.txt josh 2023-09-15 13:37:48 -04:00
  • 68e85999fb Drop unused sections when linking HULK josh 2023-09-15 13:37:00 -04:00
  • 6b1445935c Update mk-vmdk task to have a file template since VBoxManage createmedium command was failing josh 2023-09-15 11:04:36 -04:00
  • 665d8aef80 Update qemu command to change machine to q35 josh 2023-09-15 11:04:12 -04:00
  • af5ad73cf7 Update instructions for VirtualBox to change machine chipset josh 2023-09-15 11:03:39 -04:00
  • 4c67faaad4 Rework Kfont to store glyph top as offset from top of text row josh 2023-09-13 13:48:11 -04:00
  • 4fcea6a283 Reverse framebuffer vertical coordinates to start with 0 at top josh 2023-09-13 11:57:47 -04:00
  • c958b9ffcc Remove alpha-blending framebuffer functions josh 2023-09-13 10:57:45 -04:00
  • 3d911ab191 Adjust console text height by font baseline offset josh 2023-09-13 10:52:24 -04:00