1
Fork 0
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:
Liav A 2020-04-09 23:57:20 +03:00 committed by Andreas Kling
parent 4d44a3bdfe
commit 9bb4a6ecf6

View file

@ -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;
}
}
}