diff --git a/src/add-ons/accelerants/radeon_hd/accelerant.cpp b/src/add-ons/accelerants/radeon_hd/accelerant.cpp index afe6668e55..0cd1df72ca 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant.cpp +++ b/src/add-ons/accelerants/radeon_hd/accelerant.cpp @@ -139,6 +139,7 @@ init_common(int device, bool isClone) return status; } + // XXX: We *should* only need B_READ_AREA here, but AtomBIOS calls fail with it RO #19348 gInfo->rom_area = clone_area("radeon hd AtomBIOS", (void**)&gInfo->rom, B_ANY_ADDRESS, B_READ_AREA | B_WRITE_AREA, gInfo->shared_info->rom_area); diff --git a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp index 572b281556..b284837c3f 100644 --- a/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp +++ b/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp @@ -115,8 +115,9 @@ mapAtomBIOSACPI(radeon_info &info, uint32& romSize) || !memcmp(&info.atom_buffer[romHeader + 4], "MOTA", 4); if (romValid == true) { - set_area_protection(info.rom_area, - B_KERNEL_READ_AREA | B_CLONEABLE_AREA); + // XXX: We should only KERNEL_READ_AREA + CLONE here, but AtomBIOS calls fail w/RO #19348 + //set_area_protection(info.rom_area, + // B_KERNEL_READ_AREA | B_CLONEABLE_AREA); ERROR("%s: AtomBIOS verified and locked (%" B_PRIu32 ")\n", __func__, romSize); } else ERROR("%s: AtomBIOS memcpy failed!\n", __func__); @@ -227,8 +228,9 @@ mapAtomBIOS(radeon_info &info, phys_addr_t romBase, uint32 romSize, || !memcmp(&info.atom_buffer[romHeader + 4], "MOTA", 4); if (romValid == true) { - set_area_protection(info.rom_area, - B_KERNEL_READ_AREA | B_CLONEABLE_AREA); + // XXX: We should only KERNEL_READ_AREA + CLONE here, but AtomBIOS calls fail w/RO #19348 + //set_area_protection(info.rom_area, + // B_KERNEL_READ_AREA | B_CLONEABLE_AREA); ERROR("%s: AtomBIOS verified and locked (%" B_PRIu32 ")\n", __func__, romSize); } else ERROR("%s: AtomBIOS memcpy failed!\n", __func__);