Opened 7 years ago
Closed 6 years ago
#14190 closed bug (fixed)
KDL: SMAP violation (intel_extreme)
Reported by: | waddlesplash | Owned by: | korli |
---|---|---|---|
Priority: | high | Milestone: | Unscheduled |
Component: | Drivers/Graphics/intel_extreme | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Yes, the driver in the screenshot is in non-packaged, but it was "just built" before rebooting.
I guess radeon_hd probably will have the same issue?
Attachments (2)
Change History (12)
by , 7 years ago
Attachment: | intel_extreme_KDL.png added |
---|
comment:1 by , 7 years ago
comment:2 by , 7 years ago
for radeon_hd:
https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp#n54
B_READ_AREA => B_KERNEL_READ_AREA
https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp#n88
B_READ_AREA | B_WRITE_AREA => B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA
B_READ_AREA => B_KERNEL_READ_AREA
comment:3 by , 7 years ago
With that change, the intel_extreme driver gets farther, but then there is another KDL upon reaching accelerant init.
by , 7 years ago
Attachment: | intel_extreme_accelerant_KDL.jpg added |
---|
comment:4 by , 7 years ago
Please try to change at https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/intel_extreme/intel_extreme.cpp#n319 0 => B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | B_USER_CLONEABLE_AREA
radeon_hd https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/radeon_hd/radeon_hd.cpp#n543 0 => B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | B_USER_CLONEABLE_AREA
comment:6 by , 7 years ago
With all of the changes, I can successfully boot to desktop with SMAP disabled, so at least they don't hurt. Applied the first one in hrev52002, since that one seems like an obvious fix.
comment:7 by , 7 years ago
I don't know, the same happens in vesa: https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/vesa/vesa.cpp#n367
comment:8 by , 7 years ago
Some more fixes done in hrev52032. The culprit behind the attached KDL, however, is the agp_gart bus. The patch for that is:
--- a/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp +++ b/src/add-ons/kernel/busses/agp_gart/intel_gart.cpp @@ -542,14 +542,16 @@ intel_map(intel_info &info) info.aperture_area = apertureMapper.Map("intel graphics aperture", info.aperture_physical_base, info.aperture_size, B_ANY_KERNEL_BLOCK_ADDRESS | B_MTR_WC, - B_READ_AREA | B_WRITE_AREA, (void**)&info.aperture_base); + B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | B_USER_CLONEABLE_AREA, + (void**)&info.aperture_base); if (apertureMapper.InitCheck() < B_OK) { // try again without write combining ERROR("enabling write combined mode failed.\n"); info.aperture_area = apertureMapper.Map("intel graphics aperture", info.aperture_physical_base, info.aperture_size, - B_ANY_KERNEL_BLOCK_ADDRESS, B_READ_AREA | B_WRITE_AREA, + B_ANY_KERNEL_BLOCK_ADDRESS, + B_KERNEL_READ_AREA | B_KERNEL_WRITE_AREA | B_USER_CLONEABLE_AREA, (void**)&info.aperture_base); } if (apertureMapper.InitCheck() < B_OK) {
However with this, the screen goes black after the rocket icon, so it seems the accelerant expects these areas to be writeable, not cloneable. I haven't looked into that yet.
comment:9 by , 6 years ago
Please try again with hrev52052. Works for me (even if the display output is broken).
Please try to change at https://git.haiku-os.org/haiku/tree/src/add-ons/kernel/drivers/graphics/intel_extreme/bios.cpp#n138
B_READ_AREA => B_KERNEL_READ_AREA