Skip to content

Releases: nickscha/aiaos

v0.1: aiaos.h release

26 Aug 17:56
Compare
Choose a tag to compare

v0.1: aiaos - Bare Metal x86_64 Operating System Release.

A C89 standard compliant, single header, nostdlib (no C Standard Library) Bare Metal x86_64 Operating System (AIAOS).


Changes

  • [INFRA] move release workflow to right folder (d5b8138)
  • [INFRA] add release workflow (83d01c9)
  • [DRIVER] add E1000 NIC driver prototype (c7defe6)
  • [CORE] format linker (8c5ed56)
  • [TEST] find E1000 NIC driver (87cb042)
  • [DRIVER][PCI] find device by ven/dev id (1f6378f)
  • [DRIVER][PCI] add irq/multifunction/bar0/rev (f4803bb)
  • [CORE] proper namespacing for drivers (ef1a813)
  • [MIN] format stage 2 asm (4925b99)
  • [BOOT] remove print string and format (2299da7)
  • [MIN] move assets to folder (e376597)
  • [DOCS] generic num. processors for make (91deba4)
  • [DOCS] remove todos (83d5f15)
  • [LINKER] add E820 entry count address (2ddf19c)
  • [MIN] reformat build paramter (91bf1ce)
  • Merge branch 'main' of https://github.com/nickscha/aiaos (e525dcc)
  • [MIN] cleanup pci_init logic (07c9c2a)
  • [DOCS] update todos (3595504)
  • [BUILD] add -march=x86-64 (4e40584)
  • [CORE] show cpu/stack stats before zeroing memory (826e636)
  • [MIN] format bootloader (cd681b1)
  • [BUILD] adjust linker order (00ed17f)
  • [MIN] pci id naming (9458304)
  • [LINKER] discard eh_frame and .note (e7fef7c)
  • [MIN] format code (7055497)
  • [CORE] add stack usage identification (456e505)
  • [CORE] add basic PCI device scanning (47636e8)
  • [CORE] add AVX SIMD support if available (9664d77)
  • [MIN] remove print mem total asm (8af0104)
  • [TEST] rdtsc cpu cycles counts (cc80a10)
  • [CORE] safe zero memory to avoid PCIE_MMIO (51b9475)
  • [CORE] fast memset using stosq (344d4a6)
  • Merge branch 'main' of https://github.com/nickscha/aiaos (ff5a008)
  • [BUILD] add -mno-stack-arg-probe (56f6c46)
  • [DOCS] remove identity map (66b173b)
  • [CORE] identity map up to 250TiB of memory (4a243e6)
  • [MIN] format (7f35a35)
  • [MIN] clear VGA screen before memory initialize (151df03)
  • [MIN] format linker (39302e4)
  • [TEMP] move paging to 0x1000 (16ce1d8)
  • [MIN] aligning extern addresses (497daff)
  • [CORE] no hardcode E820 addresses (652f779)
  • [CORE] configure E820 address/entries in linker (006d170)
  • [MIN] format linker addresses (021e38e)
  • [MIN] format linker script (46833e6)
  • Merge branch 'main' of https://github.com/nickscha/aiaos (0938107)
  • [CORE] specify paging start address in linker (67dbfa6)
  • [DOCS] ToDo‘s (99f2c90)
  • [CORE] linker _stack_top in kernel no hardcode (7077b2a)
  • [MIN] adjust stage1 messages (570aa4d)
  • [MIN] added more stack memory information to start (774fb9c)
  • [MIN] cleanup kernel code and document (470b087)
  • [DOCS] update latest screenshot (4da0d42)
  • [BUILD] adjust linker output name (1b8258d)
  • [MIN] comment stack offset (25ae808)
  • Merge branch 'main' of https://github.com/nickscha/aiaos (ca8280a)
  • [CORE] full E820 identity map & proper stack secs (87245b7)
  • [DOCS] minor addition (c991101)
  • [CORE] define 2MB stack in linker, setup page tabs (865fdbb)
  • [CORE] add 64 bit IDT (Interrupt Descriptor Table) (abb4939)
  • [MIN] comment cleanup (8e9f954)
  • [MIN] page table zero higher 32 bit adress (f612f61)
  • [VGA] add vga color enum (c4ab788)
  • [VGA] cleanup & add helper function (e1966bb)
  • [TEST] identity map E820 usable range (0fbeb83)
  • [MIN] update example and update todo (db407bf)
  • [TEST] identity map usable space and zero memory (5746913)
  • [FIX] E820 collide page table addr.+move to 0x6020 (f5969cf)
  • [ORG] move 16 bit print_string to print file (23924c4)
  • [ORG] move print functions to own file (b18a2d3)
  • [DOC] update example picture (b06a9ff)
  • [TEST] print EH820 information to VGA (adde03a)
  • [MIN] format linker script (43b4e29)
  • [MIN] add memory offset for usable memory (d1ce6f6)
  • [MIN] add memory zeroing (ea2a002)
  • [MIN] adjust vga namespace and move to own header (276548b)
  • [CORE] upper memory detection INT 0x15, EAX=0xE820 (3b2bb81)
  • [DOC] add current example picture (5273f6f)
  • [MIN] added welcome screen (2391e86)
  • [CORE] move SSE/XMM to 64bit long mode (d87daaa)
  • [CORE] enable SSE/XMM in 32bit protected mode (733d738)
  • [BUILD] disable SSE and Vectorization for now (a809ea2)
  • [MIN] kernel code format (486dc7e)
  • [DOC] typo (bc8c118)
  • [DOC] updated image (1a5f7a0)
  • [DOC] updated image (c6770dc)
  • [DOC] build.bat compiler flags (9df1089)
  • [DOC] updated pacman libraries needed (7f4740c)
  • [INITIAL] Ready Set Go (dce8a11)

What's Included

This release includes the aiaos.h header file as well as testing and example codes ready to be used.

Get started by downloading the source code today!