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
|
## Navigating
|
||||||
|
|
||||||
- [boot.rs](src/boot.rs): Handles bootloader handoff. Gila uses Limine. Other bootloaders are NOT supported.
|
- [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.
|
||||||
- [display.rs](src/display.rs): Handles text-mode display via the VGA buffer.
|
- [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).
|
- [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.
|
- [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.
|
- [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.
|
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
|
## Credits
|
||||||
|
|
||||||
The linker script stuff is from [limine-rust-template](https://github.com/jasondyoungberg/limine-rust-template),
|
The linker script stuff is from [limine-rust-template](https://github.com/jasondyoungberg/limine-rust-template),
|
||||||
|
@ -2,4 +2,5 @@ timeout: 5
|
|||||||
|
|
||||||
/Gila
|
/Gila
|
||||||
protocol: limine
|
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") {
|
if log_device_list.contains(&"serial") {
|
||||||
// Append serial console to log subs
|
// 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();
|
let _smp_response = SMP_REQUEST.get_response();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user