Latest working kernel version: 2.6.27 Earliest failing kernel version: 2.6.28-rc8 (I did not tested earlier RCs) Distribution: Mandriva Linux Hardware Environment: P4 with an SiS motherboard (video card is a SiS 651) Software Environment: X11 Problem Description: kernel-2.6.28 prevents X.org from starting on SiS 651 with sis driver (REGRESSION). X11 failed to load with: Fatal server error: xf86MapVidMem: Could not mmap framebuffer (0x00000000,0x2000) (Invalid argument) Tested with both: - xorg-7.3 / xserver-1.5 - xorg-7.4 / xserver-1.6 (really 1.5.99.3) All X11 variants work smoothly with 2.6.27 and all failed with 2.6.28. Steps to reproduce: - boot with 2.6.27: X loads smoothly - boot with 2.6.28: X failed to load Looks similar to bug #10828
After reading bug ♯11958 as well as bug #10828, I'm wondering if the fix for some other machinse hasn't broken my machine...
Oops, I fscked up the assignee.
Could you add your dmesg and Xorg.0.log (found in /var/log/ - beware that if you boot into a sane environment the log of the failed X is moved to Xorg.0.log.old) for both your working and non-working cases?
Created attachment 19680 [details] xorg's log with 2.6.27.7 kernel (working)
Created attachment 19681 [details] xorg's log with 2.6.28-rc8 kernel (not working) (same result with rc9 and final)
Created attachment 19682 [details] xorg's log with 2.6.28 kernel (xserver-1.5.99.3)
I'll attach dmesg output tomorrow since this is a machine I have at home, not at work.
Machine is an Asus p4_533 with a P4@1.8Ghz CPU, 1Go of RAM and an SiS 651 Motherboard. It does support PAT (from what I remember from dmesg) which I suspect is the culprit. See http://dlsvr02.asus.com/pub/ASUS/Barebone/Terminator-P4-533/Manual/e1125_terminator_p4_533.pdf I'll post the full dmesg tomorrow once I've been back at home.
Created attachment 19695 [details] kernel-2.6.27.7's dmesg
Created attachment 19696 [details] kernel-2.6.28's dmesg I've tried disable_mtrr_cleanup option but output is identical (modulo CPU frequency & module load by udev order)
Created attachment 19697 [details] kernel-2.6.28's dmesg with debugpat option
Created attachment 19698 [details] kernel-2.6.28's dmesg with text console instead of vesafb console (both are working with 2.6.27.x) (no change on X faillure)
Comment on attachment 19696 [details] kernel-2.6.28's dmesg Note the "WARNING: at arch/x86/mm/ioremap" that doesn't appear with 2.6.27.x
Created attachment 19699 [details] /sys/kernel/debug/x86/pat_memtype_list with kernel-2.6.27
Created attachment 19700 [details] /sys/kernel/debug/x86/pat_memtype_list with kernel-2.6.28 2 entries lost, else it's identatical to 2.6.27's
Created attachment 19701 [details] /proc/ioports
Created attachment 19702 [details] /proc/iomem
Note that the BIOS has two settings for the shared video RAM (UC & UWSC). Both settings work smoothly with 2.6.27.x and both failed with 2.6.28
Created attachment 19720 [details] Proposed patch Thierry, Can you please check if the attached patch fixes the issue you encountered? Please ignore the patch I sent out last night. While the resolution is same, patch attached fixes the issue more cleanly.
I'll test the new patch. I just finished compile/test a kernel with your first patch. It does fix this issue. I'll try the new patch too.
Your second patch works too[1]. I tested both on another machine at work that exhibited the very same error. This machine is a Celeron@2.8Ghz with an SiS motherboard. [1] though X11 complains about the following: (WW) SIS(0): xf86UnMapVidMem: cannot find region for [0xb78c5000,0x10000] (WW) SIS(0): xf86UnMapVidMem: cannot find region for [0xb58c5000,0x2000000]
Created attachment 19723 [details] xorg's log with patched 2.6.28 kernel on the second machine. I'll check at home that the first machine (whose logs are attached to this bug report) is fixed too but I'm pretty sure that it'll work smoothly too.
You can add "Tested-By: Thierry Vignaud <tvignaud@mandriva.com>" to this patch
I confirm it fixed my own machine at home too. Tested on both "SIS660/[M]661[F|M]X/[M]670/[M]741[GX]/[M]760[GX]/[M]761[GX]/[M]770[GX]" & "SIS650/M650/651/740"
Well maybe a fix is availlable but it was released before 2.6.29-rc1 got released. However it wasn't included neither in rc1 nor in rc2. Will it get included? This is a serious regression...