Commit Graph

  • 60e167c00b [uart] Remove ability to use frame formats other than 8n1 Michael Brown 2025-06-17 15:44:12 +01:00
  • 5783a10f72 [riscv] Write SBI console output to early UART, if enabled Michael Brown 2025-06-12 12:57:26 +01:00
  • 41e65df19d [riscv] Maximise barrier effects of memory fences Michael Brown 2025-06-12 12:26:11 +01:00
  • 7e96e5f2ef [fdt] Allow paths and aliases to be terminated with separator characters Michael Brown 2025-06-11 16:08:42 +01:00
  • 1de3aef78c [bnxt] Remove TX padding Joseph Wong 2025-06-11 15:07:16 +01:00
  • 3e8909cf5f [fdtmem] Limit relocation to 32-bit address space Michael Brown 2025-06-11 13:48:12 +01:00
  • c4a3d438e6 [dt] Allow for creation of standalone devices Michael Brown 2025-06-11 12:51:56 +01:00
  • b5fb7353fa [ipv4] Add support for classless static routes Michael Brown 2025-06-10 16:55:18 +01:00
  • e648d23fba [ipv4] Extend routing mechanism to handle non-default routes Michael Brown 2025-06-05 16:49:42 +01:00
  • 96f5864660 [ipv4] Add self-tests for IPv4 routing Michael Brown 2025-06-10 13:37:31 +01:00
  • 1ae75a3bde [test] Add infrastructure for test network devices Michael Brown 2025-06-10 13:32:10 +01:00
  • 5b3ebf8b24 [riscv] Support T-Head CPUs using non-standard Memory Attribute Extension Michael Brown 2025-06-02 13:57:03 +01:00
  • 817145fe01 [riscv] Do not set executable bit in early UART page mapping Michael Brown 2025-06-02 08:59:54 +01:00
  • 7df005c4c6 [riscv] Add fences around early UART writes Michael Brown 2025-06-02 08:36:22 +01:00
  • 88cffd75a9 [riscv] Zero SATP after any failed attempt to enable paging Michael Brown 2025-06-02 08:08:02 +01:00
  • bb2011241f [dt] Locate parent node at point of use in dt_ioremap() Michael Brown 2025-05-30 16:39:10 +01:00
  • 1762568ec5 [fdt] Provide ability to locate the parent device node Michael Brown 2025-05-30 16:37:28 +01:00
  • d64250918c [fdt] Add tests for device tree creation Michael Brown 2025-05-30 14:15:43 +01:00
  • 3fe321c42a [riscv] Add support for a SiFive-compatible early UART Michael Brown 2025-05-27 17:21:01 +01:00
  • 2e27d772ca [riscv] Support mapping early UARTs outside of the identity map Michael Brown 2025-05-27 16:18:17 +01:00
  • 98fdfdd255 [riscv] Add support for writing prefix debug messages direct to a UART Michael Brown 2025-05-27 14:49:06 +01:00
  • 2e8d45aeef [riscv] Create macros for writing characters to the debug console Michael Brown 2025-05-26 23:33:35 +01:00
  • 6eb51f1a6a [riscv] Ignore riscv,isa property in favour of direct CSR testing Michael Brown 2025-05-26 21:12:12 +01:00
  • 192cfc3cc5 [image] Use image name rather than pointer value in all debug messages Michael Brown 2025-05-26 18:22:07 +01:00
  • eae9a27542 [riscv] Support mapping I/O devices outside of the identity map Michael Brown 2025-05-26 15:45:27 +01:00
  • 6af4a022b2 [fdtmem] Ignore reservation regions with no fixed addresses Michael Brown 2025-05-26 00:22:52 +01:00
  • 56f5845b36 [riscv] Include carriage returns in libprefix.S debug messages Michael Brown 2025-05-26 00:07:09 +01:00
  • 09140ab2c1 [memmap] Allow explicit colour selection for memory map debug messages Michael Brown 2025-05-25 12:06:53 +01:00
  • 8d88870da5 [riscv] Support older SBI implementations Michael Brown 2025-05-25 09:28:11 +01:00
  • 036e43334a [memmap] Rename addr/last fields to min/max for clarity Michael Brown 2025-05-23 16:55:42 +01:00
  • cd38ed4fab [lkrn] Support initrd construction for RISC-V bare-metal kernels Michael Brown 2025-05-23 16:14:45 +01:00
  • c713ce5c7b [initrd] Squash and shuffle only initrds within the external heap Michael Brown 2025-05-22 14:57:22 +01:00
  • 4a39b877dd [initrd] Split out initrd construction from bzimage.c Michael Brown 2025-05-23 12:13:02 +01:00
  • 11929389e4 [initrd] Allow for images straddling the top of the reshuffle region Michael Brown 2025-05-22 14:12:12 +01:00
  • 029c7c4178 [initrd] Rename bzimage_align() to initrd_align() Michael Brown 2025-05-22 13:41:21 +01:00
  • 9231d8c952 [initrd] Swap initrds entirely in-place via triple reversal Michael Brown 2025-05-22 13:27:03 +01:00
  • 11e01f0652 [uheap] Expose external heap region directly Michael Brown 2025-05-22 11:58:11 +01:00
  • e056041074 [uheap] Prevent allocation of blocks with zero physical addresses Michael Brown 2025-05-22 16:05:37 +01:00
  • b9095a045a [fdtmem] Allow iPXE to be relocated to the top of the address space Michael Brown 2025-05-22 16:13:36 +01:00
  • a534563345 [riscv] Speed up memmove() when copying in forwards direction Michael Brown 2025-05-21 16:12:56 +01:00
  • 20d2c0f787 [lkrn] Shut down devices before jumping to kernel entry point Michael Brown 2025-05-21 14:22:36 +01:00
  • 969e8b5462 [lkrn] Allow a single initrd to be passed to the booted kernel Michael Brown 2025-05-21 14:28:29 +01:00
  • 9bc559850c [fdt] Allow an initrd to be specified when creating a device tree Michael Brown 2025-05-21 14:26:56 +01:00
  • c1cd54ad74 [initrd] Move initrd reshuffling to be architecture-independent code Michael Brown 2025-05-21 12:07:24 +01:00
  • d15a11f3a4 [image] Use image replacement when executing extracted images Michael Brown 2025-05-20 15:27:49 +01:00
  • e2f4dba2b7 [lkrn] Add support for EFI zboot compressed kernel images Michael Brown 2025-05-20 14:14:26 +01:00
  • ecac4a34c7 [lkrn] Add basic support for the RISC-V Linux kernel image format Michael Brown 2025-05-20 00:26:08 +01:00
  • d0c35b6823 [bios] Use generic external heap based on the system memory map Michael Brown 2025-05-19 18:55:49 +01:00
  • 140ceeeb08 [riscv] Use generic external heap based on the system memory map Michael Brown 2025-05-19 16:16:33 +01:00
  • 4d560af2b0 [uheap] Add a generic external heap based on the system memory map Michael Brown 2025-05-19 16:11:59 +01:00
  • 490f1ecad8 [malloc] Allow heap to specify block and pointer alignments Michael Brown 2025-05-19 16:07:27 +01:00
  • c6ca3d3af8 [malloc] Allow for the existence of multiple heaps Michael Brown 2025-05-19 12:01:58 +01:00
  • 83449702e0 [memmap] Remove now-obsolete get_memmap() Michael Brown 2025-05-16 18:13:38 +01:00
  • 624d76e26d [bios] Use memmap_describe() to find an external heap location Michael Brown 2025-05-16 18:04:27 +01:00
  • 79c30b92a3 [settings] Use memmap_describe() to construct memory map settings Michael Brown 2025-05-16 15:47:51 +01:00
  • c8d64ecd87 [bios] Use memmap_describe() to find a relocation address Michael Brown 2025-05-16 00:07:19 +01:00
  • dbc86458e5 [comboot] Use memmap_describe() to obtain available memory Michael Brown 2025-05-15 23:45:55 +01:00
  • d0adf3b4cc [multiboot] Use memmap_describe() to construct Multiboot memory map Michael Brown 2025-05-15 23:34:39 +01:00
  • 25ab8f4629 [image] Use memmap_describe() to check loadable image segments Michael Brown 2025-05-15 23:02:06 +01:00
  • a353e70800 [memmap] Use memmap_dump_all() to dump debug memory maps Michael Brown 2025-05-15 17:09:35 +01:00
  • 3812860e39 [bios] Describe umalloc() heap as an in-use memory area Michael Brown 2025-05-15 15:35:27 +01:00
  • 4c4c94ca09 [bios] Update to use the generic system memory map API Michael Brown 2025-05-15 01:21:48 +01:00
  • 3f6ee95737 [fdtmem] Update to use the generic system memory map API Michael Brown 2025-05-14 22:30:13 +01:00
  • bab3d76717 [memmap] Define an API for managing the system memory map Michael Brown 2025-05-14 22:19:54 +01:00
  • f6f11c101c [tests] Remove prehistoric umalloc() test code Michael Brown 2025-05-15 15:46:02 +01:00
  • e0c4cfa81e [fdtmem] Record size of accessible physical address space Michael Brown 2025-05-14 22:09:51 +01:00
  • 64ad1d03c3 [bios] Rename memmap.c to int15.c Michael Brown 2025-05-14 22:01:00 +01:00
  • 1dd9ac13fd [bnxt] Use updated DMA APIs Joseph Wong 2025-05-14 14:21:02 +01:00
  • 08edad7ca3 [bnxt] Return proper error codes in probe Joseph Wong 2025-05-14 14:08:27 +01:00
  • 4d39b2dcc6 [crypto] Remove redundant null pointer check Michael Brown 2025-05-14 12:34:27 +01:00
  • d1c1e578af [riscv] Add a .pf32 build target for padded parallel flash images Michael Brown 2025-05-13 18:25:24 +01:00
  • 6fd927f929 [riscv] Perform a writability test before applying relocations Michael Brown 2025-05-13 17:36:53 +01:00
  • 4566f59757 [riscv] Avoid potentially overwriting the scratch area during relocation Michael Brown 2025-05-13 13:46:35 +01:00
  • 8e38af800b [riscv] Add a .lkrn build target resembling a Linux kernel binary Michael Brown 2025-05-13 12:51:53 +01:00
  • 17fd67ce03 [riscv] Relocate to a safe physical address on startup Michael Brown 2025-05-12 11:58:23 +01:00
  • 3dfc88158c [riscv] Construct page tables based on link-time virtual addresses Michael Brown 2025-05-12 13:57:53 +01:00
  • c45dc4a55d [riscv] Allow apply_relocs() to use non-inline relocation records Michael Brown 2025-05-12 12:21:14 +01:00
  • 420e475b11 [riscv] Return accessible physical address space size from enable_paging() Michael Brown 2025-05-12 11:47:25 +01:00
  • 6fe9ce66ae [fdtmem] Add ability to parse FDT memory map for a relocation address Michael Brown 2025-05-11 17:35:47 +01:00
  • 2e45106c0a [riscv] Ensure that prefix_virt is aligned on an xlen boundary Michael Brown 2025-05-11 14:15:28 +01:00
  • 95ede670bc [riscv] Hold virtual address offset in the thread pointer register Michael Brown 2025-05-11 13:04:51 +01:00
  • f988ec09e0 [fdt] Generalise access to "reg" property Michael Brown 2025-05-09 16:26:41 +01:00
  • 3027864f13 [riscv] Use load and store pseudo-instructions where possible Michael Brown 2025-05-09 15:02:47 +01:00
  • 134d76379e [build] Formalise mechanism for accessing absolute symbols Michael Brown 2025-05-09 14:25:59 +01:00
  • 1d58d928fe [libc] Display assertion failure message before incrementing counter Michael Brown 2025-05-09 12:03:29 +01:00
  • 8fe3c68b31 [riscv] Add support for disabling 64-bit and 32-bit paging Michael Brown 2025-05-08 15:17:57 +01:00
  • 5b19ddbb3c [riscv] Return virtual address offset from enable_paging() Michael Brown 2025-05-08 14:22:13 +01:00
  • 5e518c744e [riscv] Restore temporarily modified PTE within 32-bit transition code Michael Brown 2025-05-08 11:03:38 +01:00
  • 0279015d09 [uaccess] Generalise librm's virt_offset mechanism for RISC-V Michael Brown 2025-05-07 23:02:40 +01:00
  • e8a6c26571 [build] Constrain PHYS_CODE() and REAL_CODE() to use i386 registers Michael Brown 2025-05-07 22:57:40 +01:00
  • 12dee2dab2 [riscv] Add debug printing of hexadecimal values in libprefix.S Michael Brown 2025-05-07 14:16:06 +01:00
  • 72c81419b1 [riscv] Move prefix system reset code to libprefix.S Michael Brown 2025-05-07 13:07:56 +01:00
  • 764183504c [riscv] Add basic debug progress messages in libprefix.S Michael Brown 2025-05-07 13:00:38 +01:00
  • 9445a9ff40 [riscv] Provide a millicode variant of print_message() Michael Brown 2025-05-07 12:56:20 +01:00
  • dc9e6f0edf [riscv] Move prefix debug message printing to libprefix.S Michael Brown 2025-05-06 16:35:19 +01:00
  • b3cbdc86fc [riscv] Place prefix debug strings in .rodata Michael Brown 2025-05-06 15:48:22 +01:00
  • 4bef4c8069 [riscv] Use compressed relocation records Michael Brown 2025-05-06 14:53:29 +01:00
  • 8f7aa292aa [riscv] Place .got and .got.plt in .data Michael Brown 2025-05-06 13:55:55 +01:00
  • e37e3f17e5 [riscv] Discard ELF hash tables Michael Brown 2025-05-06 13:44:44 +01:00
  • 70bb5e5e63 [zbin] Allow for constructing compressed dynamic relocation records Michael Brown 2025-05-06 12:11:56 +01:00