diff options
author | Test_User <hax@andrewyu.org> | 2023-04-29 15:58:47 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2023-04-29 15:58:47 -0400 |
commit | c06c80180c4d2c4c1077eec38d86ae76b90e45b9 (patch) | |
tree | 0e4b52b59063ec6473849b0ca166f7ff8c7b43a6 | |
parent | 9e1d7b0c4561ebf7acf8af8005e14bb3f11ec0ec (diff) | |
download | specification-c06c80180c4d2c4c1077eec38d86ae76b90e45b9.tar.gz specification-c06c80180c4d2c4c1077eec38d86ae76b90e45b9.zip |
Define booting (mostly), fix reference in OFR
-rw-r--r-- | cpu/boot/data.txt | 4 | ||||
-rw-r--r-- | cpu/boot/interrupts.txt | 3 | ||||
-rw-r--r-- | cpu/boot/notes.txt | 1 | ||||
-rw-r--r-- | cpu/boot/registers.txt | 9 | ||||
-rw-r--r-- | cpu/boot/segments.txt | 9 | ||||
-rw-r--r-- | cpu/registers/config.txt | 2 |
6 files changed, 27 insertions, 1 deletions
diff --git a/cpu/boot/data.txt b/cpu/boot/data.txt new file mode 100644 index 0000000..e120a42 --- /dev/null +++ b/cpu/boot/data.txt @@ -0,0 +1,4 @@ +TODO: define values here +The first <n> bytes of the drive selected for booting are loaded to RAM starting at address 0 + +TODO: memory map? Maybe just communicate with ram/memory controller for that though diff --git a/cpu/boot/interrupts.txt b/cpu/boot/interrupts.txt new file mode 100644 index 0000000..8ff956b --- /dev/null +++ b/cpu/boot/interrupts.txt @@ -0,0 +1,3 @@ +Hardware interrupts are disabled + +Exceptions are not handled diff --git a/cpu/boot/notes.txt b/cpu/boot/notes.txt new file mode 100644 index 0000000..cc29b64 --- /dev/null +++ b/cpu/boot/notes.txt @@ -0,0 +1 @@ +Anything neither defined here nor defined to have a fixed value may be set to anything upon booting diff --git a/cpu/boot/registers.txt b/cpu/boot/registers.txt new file mode 100644 index 0000000..6618bba --- /dev/null +++ b/cpu/boot/registers.txt @@ -0,0 +1,9 @@ +SS0 is set to 0 + +IP is set to 0 + +R0 is set to the boot drive's ID + +OFR is set to all 0s + +PR is set to all 1s diff --git a/cpu/boot/segments.txt b/cpu/boot/segments.txt new file mode 100644 index 0000000..4abdbaf --- /dev/null +++ b/cpu/boot/segments.txt @@ -0,0 +1,9 @@ +Segment 0: + Set to the entire addressable space + Allows read+write+execute + Allows usage with any PR value + Base address is set to 0 + +TODO: specify where in RAM this gdt is + +No other segments are in use diff --git a/cpu/registers/config.txt b/cpu/registers/config.txt index d252765..9ae7bbb 100644 --- a/cpu/registers/config.txt +++ b/cpu/registers/config.txt @@ -41,7 +41,7 @@ FR (Feature Register) OFR (Optional Feature Register) Consists of various bit flags for different features that can be enabled/disabled at runtime - See features/all.txt for a full list + See features/optional.txt for a full list On read: Lists features that can be enabled/disabled |