Commit Graph

52 Commits

Author SHA1 Message Date
Lily Tsuru 14614a72d3 lcpu: Remove TestObject entirely 2023-07-27 16:38:01 -04:00
Lily Tsuru b5595cc996 lcpu: Move LuaCpu to LuaObject 2023-07-27 16:36:08 -04:00
Lily Tsuru deadeb5c51 Move LuaDevice to LuaObject 2023-07-27 16:30:59 -04:00
Lily Tsuru df8647525b move LuaObject into a new source file and clean it up a bit 2023-07-27 16:22:03 -04:00
Lily Tsuru 4538cd182d lcpu: more cleanup. this is the last one I promise, I need sleep 2023-07-27 07:21:04 -04:00
Lily Tsuru 1b347eecc8 lcpu: Cleanup, and begin the implementation of a new system for Lua binding
I didn't like how I did it before, and I don't like how right now everything binds a bit differently.

So let's unify it using the way I like (from the LuaDevice binding)!
2023-07-27 07:16:39 -04:00
Lily Tsuru 40c539bf22 lcpu: Lua devices now work!!
now i can like, actually finish this thing

i will probably commonize all the stuff the luadevice class is doing right now into its own object, since I think that it would be very useful to have elsewhere. but for now it's not common :(
2023-07-27 06:03:28 -04:00
Lily Tsuru b6d41d33fa lcpu: Load lua_shared (I'll probably be replacing ILuaBase usage with this) 2023-07-26 03:08:44 -04:00
Lily Tsuru 9c5415c061 more lua binding fun 2023-07-25 06:46:52 -04:00
Lily Tsuru c69dc8d753 lcpu: FINALLY begin implementing the addon!! 2023-07-24 20:17:07 -04:00
Lily Tsuru 887b66bbb0 test lua binding things 2023-07-24 06:50:18 -04:00
Lily Tsuru 90e684e1e3 riscv: implement syscon + system hooks
This finally allows the test harness to cleanly shut down. Awesome!

This commit also reformats the whole project's native code. Oops!
2023-07-24 01:56:50 -04:00
Lily Tsuru 7af85f5601 riscv: misc code cleanup (now I can actually focus on stuff!) 2023-07-24 00:20:40 -04:00
Lily Tsuru 878990a921 riscv: IT WORKS
finally. once i'm sure it's 100% working i can probably like, develop this addon finally
2023-07-24 00:01:39 -04:00
Lily Tsuru 38e7fc4646 no one will know the pain i go through 2023-07-23 18:13:03 -04:00
Lily Tsuru abe9b78b1a oops 2023-07-23 05:24:26 -04:00
Lily Tsuru 6727ae765b update readme to reflect move to cwgit 2023-07-23 05:22:32 -04:00
Lily Tsuru cd684e1f3e wow holy shit lily finally figured out how to work on the cpu core!
In all seriousness, this commit is a major milestone; insofar that it is
the first time I can actually work on the CPU core.
2023-07-23 05:19:08 -04:00
Lily Tsuru 09b1969d22 riscv: actually, CLINT allows reading the match registers! 2023-07-22 22:46:36 -04:00
Lily Tsuru aa66a1ff2e riscv: Implement partial CLINT and SYSCON. 2023-07-22 22:43:49 -04:00
Lily Tsuru 6a3170dc5c Remove all special treatment of the CPU class 2023-07-21 06:38:42 -04:00
Lily Tsuru 8eaf05a8ac riscv: Heavy bus refactor.
It now doesn't assume literally every device would map something to memory.

This should also fix some API orthogonality issues (ergo the CPU being treated specially)
2023-07-21 06:32:04 -04:00
Lily Tsuru a85a8ddc97 add helper to build module and install it. 2023-07-19 06:31:07 -04:00
Lily Tsuru fb29336ca7 God dman it 2023-07-19 03:20:14 -04:00
Lily Tsuru 70d90d4879 oops 2023-07-19 03:19:39 -04:00
Lily Tsuru 16ac661643 cleanup 2023-07-19 03:18:34 -04:00
Lily Tsuru e3ffcb02c2 revert loggingsystem usage until I feel safe requiring x64 gmod 2023-07-18 23:33:30 -04:00
Lily Tsuru 0d6646f8cb switch to Tier0 LoggingSystem_* 2023-07-18 17:38:33 -04:00
Lily Tsuru 3d9f9139ff move stdout sink to seperate source files 2023-07-18 06:08:49 -04:00
Lily Tsuru 9260acce31 oops 2023-07-18 06:01:32 -04:00
Lily Tsuru cd1a80e4e4 static link libstdc++ because it doesnt work if i dont... 2023-07-18 06:00:04 -04:00
Lily Tsuru c59dcfc614 Implement tier0 library logging bettererer 2023-07-18 05:48:59 -04:00
Lily Tsuru 55eb398b1c cut off lucore test 2023-07-18 02:08:00 -04:00
Lily Tsuru 9d7ef71d3b RamDevice is public
start skeleton gmod module
2023-07-18 02:05:39 -04:00
Lily Tsuru 6ebebae770 Use an output iterator for the lucore stdout sink 2023-07-18 00:47:10 -04:00
Lily Tsuru 58ee03c249 vastly improve logger 2023-07-17 16:27:27 -04:00
Lily Tsuru 22796b69bf implement a basic logger as a part of lucore
I could have implemented a spdlog sink, however spdlog isn't setup for standard format header being a thing yet.

This also introduces a temporary executable target for my own testing of lucore utilities.
2023-07-17 06:59:20 -04:00
Lily Tsuru daf29d4fd7 see previous commit 2023-07-17 03:01:31 -04:00
Lily Tsuru 20c15f4291 No longer specifically managing toolchain for if project system exists 2023-07-17 03:01:10 -04:00
Lily Tsuru e73f31818e ... after fixing that 2023-07-17 02:10:17 -04:00
Lily Tsuru 25aa8bd7da uh i guess try this 2023-07-17 02:09:59 -04:00
Lily Tsuru 7f82d7ce97 build compiler-rt 2023-07-17 01:47:51 -04:00
Lily Tsuru 5936c684b9 better limits 2023-07-17 00:40:00 -04:00
Lily Tsuru 8c5afad607 tell build script about llvm version
this will be needed to support compiler-rt build + installation later.
2023-07-17 00:21:20 -04:00
Lily Tsuru 42dcddafdb add container build system for llvm (we will work on stripping later) 2023-07-17 00:10:31 -04:00
Lily Tsuru 8d7e8c3a11 add scripts for building llvm (for inclusion in addon root) 2023-07-16 21:10:59 -04:00
Lily Tsuru 732ff5fef8 cleanup ideas document 2023-07-16 06:20:11 -04:00
Lily Tsuru 1d14a89fb7 begin actually setting up the repository as a GMod addon.. 2023-07-16 06:05:19 -04:00
Lily Tsuru b4a343e9db move all native projects to native/projects
this should make the folder structure a bit more navigatable
2023-07-16 05:46:49 -04:00
Lily Tsuru c20c852554 lucore now has its own assertion system
ripped off of how ive done it in like 10 different projects by now™️
2023-07-16 05:40:38 -04:00