Commit Graph

129 Commits

Author SHA1 Message Date
Florian Nücke
fb281bd5fa Small rename. Check if chunk exists before accessing it on server. 2020-09-30 13:34:37 +02:00
Florian Nücke
9275d9562a Send terminal output to client and input back to server. 2020-09-30 13:27:32 +02:00
Florian Nücke
cd1d06842d Started implementing a computer block as use/test-case for serialization. 2020-09-29 13:01:40 +02:00
Florian Nücke
8a7aabfdad Using sedna-buildroot as source for binaries now.
Moved configs to buildroot repo.
2020-09-28 13:22:46 +02:00
Florian Nücke
ddbfc38a14 Fixed maven url. 2020-09-26 21:45:33 +02:00
Florian Nücke
1dded657c6 Stripped out the vm package because it feels very redundant now. 2020-09-26 21:27:25 +02:00
Florian Nücke
5a8e48022d Pulled emulator into separate project. 2020-09-26 14:45:45 +02:00
Florian Nücke
d68271c99b Fixed bounds check and exception type. 2020-09-26 11:59:35 +02:00
Florian Nücke
452f02e102 Removed alignment asserts (broke tests). Fixed bounds checks in memory classes. 2020-09-26 11:29:57 +02:00
Florian Nücke
641b603c2f Add option for flushing for block devices. 2020-09-26 11:23:44 +02:00
Florian Nücke
1d61793cbb Removed redundant lines from build.gradle and made compile args easier to modify. 2020-09-26 02:57:08 +02:00
Florian Nücke
5d6fab0dac Enforce some sane limits on block device request sizes and throttle throughput. 2020-09-26 02:55:47 +02:00
Florian Nücke
78b853308a Little bit of documentation and dead code removal. 2020-09-26 01:31:06 +02:00
Florian Nücke
9722ae24d1 Make BlockDevices closeable, allows properly closing file based ones. 2020-09-25 20:19:55 +02:00
Florian Nücke
0033140d37 Somehow kernel thought it needed USB and Networking again... removed that. Again. 2020-09-25 17:46:10 +02:00
Florian Nücke
00eb257632 Added buildroot configs. 2020-09-25 17:32:48 +02:00
Florian Nücke
e1a91b0371 Made console device configurable independently from input device. 2020-09-25 17:11:45 +02:00
Florian Nücke
c7990ea8bc Gave up and accepted we need bootargs (for now), so those can be set on board now. 2020-09-25 15:46:03 +02:00
Florian Nücke
b4c8bfcdf9 Catching right error for read-only block devices. 2020-09-25 15:45:10 +02:00
Florian Nücke
380d5669f0 Allow devices to declare supported load/store widths.
Makes us a little less reliant on asserts. Checked in memory map => direct load/store on devices is still unchecked and fast.
2020-09-25 15:22:58 +02:00
Florian Nücke
1528c6ea53 Use constants for clarity. 2020-09-25 14:49:27 +02:00
Florian Nücke
2f747558e9 Only use UnsafeMemory on little endian systems (because that's what our R5CPU says it's using). 2020-09-25 12:39:59 +02:00
Florian Nücke
c1a11cb57b Some RISC-V float constants, unused for now. 2020-09-25 02:21:26 +02:00
Florian Nücke
138290cc86 Added VirtIO Block Device, backed by new BlockDevice interface.
Currently supports ByteBuffers and memory mapped files.
2020-09-25 02:20:52 +02:00
Florian Nücke
8d5ef3850b Added utility method for skipping sections of a descriptor chain. 2020-09-25 02:19:55 +02:00
Florian Nücke
105fd4ab56 Moved UART out of board, kinda hacky for now. 2020-09-24 21:36:43 +02:00
Florian Nücke
3af8ba59a0 Some more 64 bit maybe someday future-proofing. 2020-09-24 21:35:57 +02:00
Florian Nücke
e67e3580e7 Write input device config directly into config space instead of separate buffer. 2020-09-24 18:12:38 +02:00
Florian Nücke
b2fb6ed730 Mapping of GLFW keycodes to evdev keycodes. 2020-09-24 17:53:49 +02:00
Florian Nücke
ada89fdddb Added VirtIO Input Device base class and keyboard device implementation. 2020-09-24 17:53:20 +02:00
Florian Nücke
78ec00379e Unified naming between UART and VirtIO console methods. 2020-09-24 16:56:06 +02:00
Florian Nücke
df49fcb580 Register provider for VirtIO devices. 2020-09-24 16:55:39 +02:00
Florian Nücke
dda84ba927 Added bare minimum VirtIO console device. 2020-09-24 16:54:32 +02:00
Florian Nücke
e80ea9120b Ring buffers can be smaller and made notification receiver optional to implement. 2020-09-24 15:20:57 +02:00
Florian Nücke
9a2244bf20 Base class for VirtIO devices, taking care of common plumbing. 2020-09-24 14:20:32 +02:00
Florian Nücke
916432f81b Make device cache in memory map thread safe. 2020-09-24 13:29:17 +02:00
Florian Nücke
1f43d7bc85 Add name for VirtIO devicetree provider. 2020-09-24 13:28:47 +02:00
Florian Nücke
caaad3e637 Give terminal an input buffer and make dirty flag atomic.
This allows to write "input" on its own, e.g. in response to certain escape sequences.
2020-09-24 13:27:16 +02:00
Florian Nücke
330eda9a8a Utility method for setting up interrupts. 2020-09-24 13:26:16 +02:00
Florian Nücke
eb22fef001 Added 64 bit width to sizes and handle it in memory implementations. 2020-09-24 13:26:03 +02:00
Florian Nücke
49b6a56ca3 Added pasting to test screen. Closes #1. 2020-09-21 01:15:25 +02:00
Florian Nücke
2822f18f0e Removed now unnecessary zero flushing. 2020-09-20 23:13:42 +02:00
Florian Nücke
bc04f7b20b More dead code. 2020-09-20 13:58:30 +02:00
Florian Nücke
23c480c748 Javadoc fix. 2020-09-20 13:58:17 +02:00
Florian Nücke
65e41b2490 Removed dead code. 2020-09-20 13:58:06 +02:00
Florian Nücke
1a5b1a47f4 First Minecraft thing for testing, opens UI with a terminal and starts a VM. 2020-09-19 22:52:27 +02:00
Florian Nücke
2f90f021b3 Made UART timeout to actually do something. 2020-09-19 18:34:03 +02:00
Florian Nücke
f0212ddb98 Fixed potential illegal read from UART queue after clear. 2020-09-19 18:33:33 +02:00
Florian Nücke
1f99a2eade Cleaned up ISA tests a little. 2020-09-19 14:59:42 +02:00
Florian Nücke
a877ad1370 Understood how tests communicate. All passing now! 2020-09-19 14:47:02 +02:00