5 Commits

Author SHA1 Message Date
Howard Luck 23a64946c6 Fix OSGetTime overflow on iOS (#122) 2026-04-14 23:24:44 -06:00
Jeffrey Crowell 419643fd66 support Apple libc++ for OSGetTime
Apple libc++ currently ships <chrono> with the C++20 timezone database API
disabled so zoned_time/current_zone are unavailable there.
2026-03-14 20:08:12 -07:00
Max Roncace da18035dfb Fix OSGetTime implementation 2026-03-14 21:32:06 -04:00
qwertyquerty 9dd8ae8e61 os time functions and fix os base clock (#45)
* os time functions and fix os base clock

* how do you still exist
2026-03-08 22:36:35 -06:00
Pieter-Jan Briers e4afaeeeb7 OS functions start (#16)
* OS memory start

OSInit()
MEM1 size configurable via AuroraConfiguration
Fancy guard pages (who knows if it'll be useful)

* OSGetTime() and OSGetTick()

* Fix OSPhysicalToCached etc for 64-bit pointers

* Specify memory size in OS boot info

Used by TP at least

* Fix MEM1Start/MEM1End definition

oops

* Implement some OS arena functions

* DEBUG -> NDEBUG

* Implement memory translation functions

I decided to remove the macros from the header given they're very unlikely to matter perf wise and it reduces code duplication.

There's no distinction between cached and uncached. Physical is relative to MEM1.

* Fix symbol mismatches from forgetting to include the header

* Implement OSReport and similar logging functions

* Fix OSBaseAddress

Ugh

* Implement OSGetPhysicalMemSize

* Fix usage of static for global variables

* Remove ../ prefixes from OS CMake file

CLion did this

* Remaining headers needed for TP to build

* Rider's "Unversioned Files" will keep trolling me

* Remove TP-specific OSReport functions

* Hardcode OS_BUS_CLOCK in os.h

TP has it referenced in an initializer, so relying on MEM1 being initialized is impossible.

* Import TP ARAM emulation code

* Guard against double OSInit() calls.

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-03-02 08:33:42 -07:00