Opened 6 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)

intel_extreme_KDL.png (1.1 MB ) - added by waddlesplash 6 years ago.
intel_extreme_accelerant_KDL.jpg (502.5 KB ) - added by waddlesplash 6 years ago.

Download all attachments as: .zip

Change History (12)

by waddlesplash, 6 years ago

Attachment: intel_extreme_KDL.png added

comment:3 by waddlesplash, 6 years ago

With that change, the intel_extreme driver gets farther, but then there is another KDL upon reaching accelerant init.

by waddlesplash, 6 years ago

comment:4 by korli, 6 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:5 by waddlesplash, 6 years ago

Didn't help. Same KDL, same location (+ 0xe0, memset.)

comment:6 by waddlesplash, 6 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:8 by waddlesplash, 6 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 korli, 6 years ago

Please try again with hrev52052. Works for me (even if the display output is broken).

comment:10 by korli, 6 years ago

Resolution: fixed
Status: assignedclosed

No feedback.

Note: See TracTickets for help on using tickets.