You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Changelog
- Bashkar: refactoring and new UI
- Fixed clippy lints over all the code!
- hyperdriver: Fixed `Send`/`Sync` implementations
- kernel: scheduler now supports events and thread sleeping 🎉
- new mprotect syscall
- improved core locals implementation
- map kernel/framebuffer/ramdisk as global pages
-`-nic user,model=e1000e`: Add a network card to the emulated computer.
82
72
-`-device nvme,serial=<anything>`: Add a NVMe controller to the emulated computer.
73
+
-`-device qemu-xhci`: Add an XHCI controller to the emulated computer.
83
74
-`-device usb-kbd`: Add a USB keyboard (currently not recognized). This will disable QEMU's PS/2 emulated keyboard.
84
75
-`-device virtio-vga -display <BACKEND>,gl=on`: If having a fixed 2560x1600 resolution bothers you, you can use a better-fitting framebuffer with these options. Replace `<BACKEND>` with either `sdl` or `gtk`.
85
76
@@ -121,13 +112,15 @@ Debugging isn't currently supported through debuggers.
121
112
122
113
Debugging can be done using `beskar_lib::println!` which writes text on the screen and on the serial port (which is your host's console if you're using QEMU).
123
114
115
+
The kernel also prints the whole state of the CPU when it receives a breakpoint exception (`int3`).
116
+
124
117
## Screenshots
125
118
126
119
The following screenshots showcase the normal operating of the OS
127
120
128
121
### Bootloader
129
122
130
-
Before trying anything, the bootloader checks the firmware version as well as available features. This early process is logged into COM1.
123
+
Before trying anything, the [bootloader](bootloader/README.md) checks the firmware version as well as available features. This early process is logged into COM1.
When something goes unfortunately wrong, the faulty process gets killed. On unrecoverable kernel errors, the faulty core sends an NMI to other cores to stop further processing.
146
-
147
-

148
-
149
138
### Userspace
150
139
151
140
### Bashkar
152
141
153
-
Bashkar is a wanna-be shell. It shows the terrific BeskarOS banner.
142
+
[Bashkar](userspace/bashkar/README.md) is a wanna-be shell. It shows the terrific BeskarOS banner.
154
143
155
144

156
145
@@ -167,3 +156,7 @@ Unfortunately, the resolution is currently fixed at a small 340x200.
167
156
My warmest thanks to all the [OSDev](https://wiki.osdev.org/) contributors, without whom it would have been impossible to acquire all the information needed to write such code.
168
157
169
158
Special thanks to Philipp Oppermann, for his [BlogOS ed.3](https://github.com/phil-opp/blog_os) series and for his [bootloader](https://github.com/rust-osdev/bootloader) crate, which enabled me to start from scratch with clear, easy-to-understand explanations.
159
+
160
+
## Disclaimer
161
+
162
+
While this project contains a few subtle references to the Star Wars universe for artistic purposes, it is an independent operating system and is not affiliated with or endorsed by Disney or Lucasfilm.
0 commit comments