Minor fixes
This commit is contained in:
parent
c1bedccd19
commit
a429d20e18
17
README.md
17
README.md
@ -15,8 +15,8 @@ Licensed under the GNU Public License v3. See [LICENSE](LICENSE) for details.
|
||||
|
||||
## Navigating
|
||||
|
||||
- [boot.rs](src/boot.rs): Handles bootloader handoff. Gila uses Limine. Other bootloaders are NOT supported.
|
||||
- [display.rs](src/display.rs): Handles text-mode display via the VGA buffer.
|
||||
- [arch/](src/arch/): Architecture specific features like the display, serial, and interrupts. Each architecture is a subfolder, containing a file or module for each feature.
|
||||
- [boot.rs](src/boot.rs): Handles bootloader-managed data structures. Gila uses Limine. Other bootloaders are NOT supported.
|
||||
- [lib.rs](src/lib.rs): Glue to make all files accessible from [main.rs](src/main.rs).
|
||||
- [log.rs](src/log.rs): Logging structures and singletons for logging to serial or the display.
|
||||
- [main.rs](src/main.rs): The entry point that gets called by the bootloader.
|
||||
@ -49,6 +49,19 @@ supplying [shell.nix](shell.nix) as an argument.
|
||||
|
||||
TODO: The dockerfile is kinda broken and display forwarding does not work.
|
||||
|
||||
## Kernel Parameters
|
||||
|
||||
Kernel parameters are passed as part of the `cmdline` through [limine.conf](limine.conf). The parameters are passed as a space-delimited list of keys and values. Keys begin with a hyphen (`-`), and keys are separated from their values with equals signs (`=`). Keys can have a set of multiple values, separated by a comma (`,`). Gila does not currently support parameter values with spaces. That would require an *actual* parser.
|
||||
|
||||
List of current extant kernel parameters:
|
||||
|
||||
- `-loglevel`: Can be a number or string corresponding to a log level. Only one value supported.
|
||||
- `-logdev`: A sequence of one or more values representing devices to log to. Current options are `display` and `serial`.
|
||||
|
||||
The default `cmdline` is:
|
||||
|
||||
`-loglevel=INFO -logdev=display,serial`
|
||||
|
||||
## Credits
|
||||
|
||||
The linker script stuff is from [limine-rust-template](https://github.com/jasondyoungberg/limine-rust-template),
|
||||
|
@ -2,4 +2,5 @@ timeout: 5
|
||||
|
||||
/Gila
|
||||
protocol: limine
|
||||
kernel_path: boot():/gila
|
||||
kernel_path: boot():/gila
|
||||
cmdline: -loglevel=INFO -logdev=display,serial
|
@ -43,6 +43,7 @@ unsafe extern "C" fn main() -> ! {
|
||||
if log_device_list.contains(&"serial") {
|
||||
// Append serial console to log subs
|
||||
}
|
||||
log(LogLevel::INFO, "Configured kernel logging devices.")
|
||||
}
|
||||
|
||||
{
|
||||
@ -65,7 +66,8 @@ unsafe extern "C" fn main() -> ! {
|
||||
}
|
||||
}
|
||||
|
||||
log(LogLevel::INFO, "Booting Gila...");
|
||||
log(LogLevel::INFO, "Log devices configured. Booting `gila`.");
|
||||
log(LogLevel::INFO, "Trans Rights!");
|
||||
|
||||
let _smp_response = SMP_REQUEST.get_response();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user