Commit Graph

  • d04c5444c7 fontgen: put character number before character data josh 2023-09-13 08:53:50 -04:00
  • 209658ee09 Use cache to mkdir_p for HulkBinObj builder josh 2023-09-10 09:48:07 -04:00
  • f3f45445b3 Determine XHCI controller addresses josh 2023-09-07 14:04:30 -04:00
  • 459d5c36aa Set alignment of XSDT table pointers to 4 instead of 8 josh 2023-09-07 12:53:04 -04:00
  • 22c9891c4f Add page_address() josh 2023-09-07 12:51:41 -04:00
  • 2a832bfb8b Print progress messages for cross compiler toolchain installation josh 2023-09-06 22:58:18 -04:00
  • 496445e533 Fix linker script section placement josh 2023-09-06 16:35:42 -04:00
  • 156642293f Debug output HULK memory range end addresses josh 2023-09-04 21:20:10 -04:00
  • 4e46b98efc Capture QEMU serial port output josh 2023-09-04 21:13:35 -04:00
  • ce3e2c55df Store QEMU files in local qemu directory josh 2023-09-04 21:12:36 -04:00
  • cb24d00e5f Document running in QEMU in README josh 2023-09-04 21:04:30 -04:00
  • 4500f3cbca Write HELLO memory map debug data to serial port josh 2023-09-04 20:59:38 -04:00
  • 0781962e9f Rework HELLO console module to use hulk.writef josh 2023-09-04 16:17:47 -04:00
  • e25d28ebc7 Add serial module josh 2023-09-04 14:56:12 -04:00
  • 93a4065dea Add path to OVMF.fd for Arch josh 2023-09-04 14:07:05 -04:00
  • 5b017fb810 Add some xHCI register structures josh 2023-06-11 17:22:50 -04:00
  • 37814b4f86 Start on XHCI struct josh 2023-06-10 22:55:08 -04:00
  • 238659e94b Store PCI device mapped memory ranges josh 2023-06-10 22:22:09 -04:00
  • c16aa0e9c3 Add hulk.range josh 2023-06-10 22:13:20 -04:00
  • 2935903bae Map PCI device memory regions josh 2023-06-10 20:12:46 -04:00
  • 5179b5881b Read PCI device header type josh 2023-06-10 12:01:06 -04:00
  • a0c62937ff Remove Pci.init_device() for now josh 2023-06-10 11:28:51 -04:00
  • 657287c160 Move Pci.scan() recursion into scan() itself josh 2023-06-10 11:20:50 -04:00
  • d600e089e5 Add Pci.Device class josh 2023-06-10 11:16:27 -04:00
  • dd07a08388 Fix A1 allocator to map the correct pages josh 2023-06-10 11:06:41 -04:00
  • 63fbbc9051 Use ulong for round_up_power_2() josh 2023-06-10 10:59:46 -04:00
  • 3e32802862 Add A1.allocate() template to allocate struct/class instances josh 2023-06-10 10:30:56 -04:00
  • 40ff805f7d Add Pci.Address struct josh 2023-06-10 09:35:52 -04:00
  • 9ac69c9003 Add Pci.write_config_register() josh 2023-06-10 09:19:58 -04:00
  • 7aa28da1ef Allow pointers or integers for Hurl.*map_range() josh 2023-06-09 23:38:52 -04:00
  • 222a1efea4 Fix address calculation in Hurl.identity_map_range() josh 2023-06-09 23:27:20 -04:00
  • 7a4edf38f0 Scan for multi-function PCI devices josh 2023-06-08 20:28:32 -04:00
  • dda1b6379f Fix in32()/out32() to use uint instead of ulong josh 2023-06-08 16:07:44 -04:00
  • 98134957e7 Print APIC table signatures found josh 2023-06-08 13:21:43 -04:00
  • 22463e729b writef: add %c format specifier support josh 2023-06-08 13:21:24 -04:00
  • 8de86dd647 Add Pci.init_device() skeleton josh 2023-06-07 16:49:54 -04:00
  • f6fde01b06 Fix build error -- import hulk.util josh 2023-04-05 01:08:55 -04:00
  • ea6f485bd9 Add hulk.util and round_up_power_2() josh 2023-02-24 21:15:33 -05:00
  • 2ab388f2e9 Remove seconds counter printout josh 2023-02-24 20:58:11 -05:00
  • cc891f6d4d Assign PCI header fields to named variables josh 2023-02-24 20:53:46 -05:00
  • f5e5c40c12 Reduce Hurl.map() template overhead josh 2023-01-02 20:46:12 -05:00
  • 7b09c9beed Add A1 memory allocator josh 2023-01-01 22:02:48 -05:00
  • 103205bff2 Move address constants into Hurl struct josh 2023-01-01 21:04:29 -05:00
  • 25ee1775f0 Capitalize namespacing structs josh 2023-01-01 17:34:41 -05:00
  • a423cdf1b1 Fix RTC clock reading in 24-hour mode josh 2022-12-19 11:32:08 -05:00
  • 7c8744d1e0 Read RTC date and time josh 2022-12-18 22:29:12 -05:00
  • 4081a220ef Route I/O APIC interrupts, enable RTC tick interrupt josh 2022-12-16 00:32:49 -05:00
  • 9adc248225 Initialize rtc module josh 2022-12-15 20:41:44 -05:00
  • 676fd17bf5 Add pit and rtc modules josh 2022-12-15 20:31:18 -05:00
  • 4a39341a83 Turn off local APIC timer dev josh 2022-12-14 23:56:11 -05:00
  • 42ab6f396d Processing multiple RTC interrupts josh 2022-12-14 23:51:35 -05:00
  • 58d685a15b Program I/O APIC; got one RTC interrupt josh 2022-12-14 23:43:26 -05:00
  • d49f9e32cd dev checkpoint josh 2022-12-14 19:40:22 -05:00
  • b1a8f8d348 Handle local APIC exceptions josh 2022-12-07 23:24:01 -05:00
  • 9b52ae58e8 Get local APIC timer ready to run josh 2022-12-07 23:13:51 -05:00
  • 5799f94efe Configure local APIC interrupt vectors josh 2022-12-06 22:06:57 -05:00
  • 400a7b22db Enable local APIC interrupts josh 2022-12-06 21:22:56 -05:00
  • 2bba0dfca4 Add hulk.mtrr module josh 2022-11-08 21:49:41 -05:00
  • edba40b2c6 Implement frame buffer double-buffering josh 2022-11-08 06:19:03 -05:00
  • 55604468c8 Allocate framebuffer buffer1 in HELLO josh 2022-11-07 21:27:52 -05:00
  • 71c30fa932 Reclaim bootloader page table pages josh 2022-11-06 21:59:42 -05:00
  • b3fb599b25 Move EFER initialization to initialize_cpu() josh 2022-11-05 22:49:57 -04:00
  • d357aada75 Map HULK regions separately josh 2022-11-05 22:45:35 -04:00
  • 1fef8ada29 Define acpi structs as static josh 2022-11-05 22:26:21 -04:00
  • 5231930543 Clean up ApicRegister josh 2022-11-05 22:22:09 -04:00
  • 95b9e4558a Move hulk.writef buffer variables to stack josh 2022-11-05 22:06:18 -04:00
  • 354555d7f1 Disable AVX and SSE instruction generation for HULK josh 2022-11-05 22:02:52 -04:00
  • 1b69810e8f Turn on OSXSAVE josh 2022-11-05 21:17:30 -04:00
  • 64190b04cb Add initialize_cpu() josh 2022-11-05 20:27:48 -04:00
  • d7b12c7896 Run qemu with maximum supported host CPU features josh 2022-11-05 20:15:30 -04:00
  • 11f922da33 Add write_cr0() josh 2022-11-05 19:58:10 -04:00
  • 59e084c234 Add cpuid1() and output bit enums josh 2022-11-04 19:28:34 -04:00
  • f21ee0d149 Add enums for a few CPU register bits josh 2022-11-04 00:08:40 -04:00
  • 2a7c783bba Add write_cr4() josh 2022-11-03 23:31:55 -04:00
  • 1f2a2bea48 Add xgetbv()/xsetbv() josh 2022-11-03 22:45:35 -04:00
  • 8eedf4e267 Switch klog buffer to ubyte array to move it to bss section josh 2022-11-03 16:33:59 -04:00
  • ae49c29c75 Fail build if thread-local data is found josh 2022-11-03 16:17:42 -04:00
  • 4d88810fc1 Move hulk.writef hex character strings out of data section josh 2022-11-03 15:52:20 -04:00
  • ba9cf30e67 Clean up linker script symbols josh 2022-11-03 15:41:14 -04:00
  • b9675019e7 Rename BOOTX64.EFI -> HOS.EFI josh 2022-11-03 13:54:42 -04:00
  • aa9809e0ed README: add building instructions josh 2022-11-03 13:34:21 -04:00
  • 07202b902b README: fix headings josh 2022-11-03 13:30:09 -04:00
  • 08501e86bb README: Add HOS System Requirements josh 2022-11-03 13:29:05 -04:00
  • 10a2d63e08 Add instructions to run HOS from GRUB josh 2022-11-03 13:27:24 -04:00
  • 8aa01ba122 Build HELLO page tables from unused memory instead of scratch buffer josh 2022-11-02 22:49:42 -04:00
  • 0b326e2e36 Move PAGE_SIZE from hulk.hippo to hulk.pagetable josh 2022-11-01 22:23:26 -04:00
  • e49c27cbbc Increase scratch space to 10MB josh 2022-10-30 21:29:19 -04:00
  • 49677c8499 PageTableEntry improvements josh 2022-10-29 22:07:38 -04:00
  • 1e1c389caf Turn on EFER NXE bit to allow no-execute pages josh 2022-10-27 23:42:18 -04:00
  • 7b531e36ea Fix HELLO check that HULK bss and stack region could be found josh 2022-10-26 23:26:25 -04:00
  • 7540d4302e Add a couple more page table flags josh 2022-10-26 23:18:08 -04:00
  • ba7c2996d5 Add MSR_EFER and rdmsr() josh 2022-10-26 22:45:09 -04:00
  • 707d42bec4 Remove PageTable.opIndex and .opIndexAssign, use .entry josh 2022-10-26 21:58:22 -04:00
  • 476ae7d6fd Move hos.* modules to hulk.* josh 2022-10-26 00:16:07 -04:00
  • 4a431f7d93 Use hulk.pagetable from hello josh 2022-10-26 00:05:49 -04:00
  • 555ec9b627 Split PageTable struct out from hulk.hurl to hulk.pagetable josh 2022-10-25 23:30:17 -04:00
  • c11361d40f Build new page tables in HULK josh 2022-10-19 23:59:11 -04:00
  • c8a81b1101 Add PAGE_SIZE constant josh 2022-10-18 21:53:38 -04:00
  • 41531cf4d2 Rename Hurl to hurl for consistency josh 2022-10-18 20:59:13 -04:00
  • edbe33bcfa Add ApicRegisters structure josh 2022-10-18 20:48:46 -04:00