mirror of
https://github.com/RGBCube/serenity
synced 2025-05-18 21:15:09 +00:00
Kernel: Create BXVGA device if found in the PCI bus
This commit is contained in:
parent
4d44a3bdfe
commit
9bb4a6ecf6
1 changed files with 17 additions and 7 deletions
|
@ -169,14 +169,24 @@ void init_stage2()
|
|||
if (kernel_command_line().contains("text_debug")) {
|
||||
dbg() << "Text mode enabled";
|
||||
} else {
|
||||
if (multiboot_info_ptr->framebuffer_type == 1 || multiboot_info_ptr->framebuffer_type == 2) {
|
||||
new MBVGADevice(
|
||||
PhysicalAddress((u32)(multiboot_info_ptr->framebuffer_addr)),
|
||||
multiboot_info_ptr->framebuffer_pitch,
|
||||
multiboot_info_ptr->framebuffer_width,
|
||||
multiboot_info_ptr->framebuffer_height);
|
||||
} else {
|
||||
bool bxvga_found = false;
|
||||
PCI::enumerate_all([&](const PCI::Address&, PCI::ID id) {
|
||||
if (id.vendor_id == 0x1234 && id.device_id == 0x1111)
|
||||
bxvga_found = true;
|
||||
});
|
||||
|
||||
if (bxvga_found) {
|
||||
new BXVGADevice;
|
||||
} else {
|
||||
if (multiboot_info_ptr->framebuffer_type == 1 || multiboot_info_ptr->framebuffer_type == 2) {
|
||||
new MBVGADevice(
|
||||
PhysicalAddress((u32)(multiboot_info_ptr->framebuffer_addr)),
|
||||
multiboot_info_ptr->framebuffer_pitch,
|
||||
multiboot_info_ptr->framebuffer_width,
|
||||
multiboot_info_ptr->framebuffer_height);
|
||||
} else {
|
||||
new BXVGADevice;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue