mirror of
https://github.com/RGBCube/serenity
synced 2025-05-25 19:15:06 +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")) {
|
if (kernel_command_line().contains("text_debug")) {
|
||||||
dbg() << "Text mode enabled";
|
dbg() << "Text mode enabled";
|
||||||
} else {
|
} else {
|
||||||
if (multiboot_info_ptr->framebuffer_type == 1 || multiboot_info_ptr->framebuffer_type == 2) {
|
bool bxvga_found = false;
|
||||||
new MBVGADevice(
|
PCI::enumerate_all([&](const PCI::Address&, PCI::ID id) {
|
||||||
PhysicalAddress((u32)(multiboot_info_ptr->framebuffer_addr)),
|
if (id.vendor_id == 0x1234 && id.device_id == 0x1111)
|
||||||
multiboot_info_ptr->framebuffer_pitch,
|
bxvga_found = true;
|
||||||
multiboot_info_ptr->framebuffer_width,
|
});
|
||||||
multiboot_info_ptr->framebuffer_height);
|
|
||||||
} else {
|
if (bxvga_found) {
|
||||||
new BXVGADevice;
|
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