[coreboot] Intel: After suspend/resume `cbmem -l` fails with `Program cbmem tried to access /dev/mem between f0000->1f0000.`

Paul Menzel paulepanter at users.sourceforge.net
Sun Jan 4 11:24:00 CET 2015


Dear coreboot folks,


first of all I wish everyone a happy new year!

On the i945 based Lenovo X60, running `cbmem -l` (or any other option)
works fine. Suspending and resuming the system, running any `cbmem`
commands does *not* work anymore.

        $ sudo pm-suspend
        $ sudo cbmem -l
        Failed to mmap /dev/mem: Operation not permitted
        $ dmesg | tail -1
        [ 2834.560179] Program cbmem tried to access /dev/mem between f0000->1f0000.

I think in Prague, it could also be reproduced on Vladimir’s Lenovo
X230(?).

Do you have any idea, why this happens? Is that a Linux error?

It’d be great if you Intel device owners, could try to reproduce it.


Thanks,

Paul


$ sudo cbmem -l
CBMEM table of contents:
    ID           START      LENGTH
 0. CBMEM ROOT   7f7ff000   00001000
 1. CAR GLOBALS  7f7fe000   00001000
 2. CONSOLE      7f7de000   00020000
 3. TIME STAMP   7f7dd000   00001000
 4. ROMSTAGE     7f7dc000   00001000
 5. GDT          7f7db000   00001000
 6. IRQ TABLE    7f7da000   00001000
 7. SMP TABLE    7f7d9000   00001000
 8. ACPI         7f7cd000   0000c000
 9. SMBIOS       7f7cc000   00001000
10. ACPI RESUME  7f6cc000   00100000
11. COREBOOT     7f6c4000   00008000
$ more /proc/iomem
00000000-00000fff : reserved
00001000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : PCI Bus 0000:00
  000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
  000c0000-000c3fff : PCI Bus 0000:00
  000c4000-000c7fff : PCI Bus 0000:00
000c8000-000cbfff : PCI Bus 0000:00
000cc000-000cffff : PCI Bus 0000:00
000d0000-000d3fff : PCI Bus 0000:00
000d4000-000d7fff : PCI Bus 0000:00
000d8000-000dbfff : PCI Bus 0000:00
000dc000-000dffff : PCI Bus 0000:00
000e0000-000e3fff : PCI Bus 0000:00
000e4000-000e7fff : PCI Bus 0000:00
000e8000-000ebfff : PCI Bus 0000:00
000ec000-000effff : PCI Bus 0000:00
000f0000-000fffff : PCI Bus 0000:00
  000f0000-000fffff : reserved
    000f0000-000fffff : System ROM
00100000-7f6c2fff : System RAM
  01000000-01490f89 : Kernel code
  01490f8a-0167c73f : Kernel data
  0172d000-017a1fff : Kernel bss
7f6c3000-7fffffff : reserved
  7f800000-7ffbffff : Graphics Stolen Memory
80000000-febfffff : PCI Bus 0000:00
  80000000-801fffff : PCI Bus 0000:01
  84000000-87ffffff : PCI CardBus 0000:06
  88000000-8bffffff : PCI CardBus 0000:06
  d0000000-dfffffff : 0000:00:02.0
  e0000000-e20fffff : PCI Bus 0000:05
    e2000000-e2000fff : 0000:05:00.0
      e2000000-e2000fff : yenta_socket
    e2001000-e20017ff : 0000:05:00.1
      e2001000-e20017ff : firewire_ohci
    e2001800-e20018ff : 0000:05:00.2
      e2001800-e20018ff : mmc0
  e2100000-e40fffff : PCI Bus 0000:05
  e4100000-e41fffff : PCI Bus 0000:01
    e4100000-e411ffff : 0000:01:00.0
      e4100000-e411ffff : e1000e
  e4200000-e42fffff : PCI Bus 0000:02
    e4200000-e4200fff : 0000:02:00.0
      e4200000-e4200fff : iwl3945
  e4300000-e437ffff : 0000:00:02.0
  e4380000-e43fffff : 0000:00:02.1
  e4400000-e443ffff : 0000:00:02.0
  e4440000-e4443fff : 0000:00:1b.0
    e4440000-e4443fff : ICH HD audio
  e4444000-e44443ff : 0000:00:1d.7
    e4444000-e44443ff : ehci_hcd
  e4444400-e44447ff : 0000:00:1f.2
    e4444400-e44447ff : ahci
  f0000000-f3ffffff : PCI MMCONFIG 0000 [bus 00-3f]
    f0000000-f3ffffff : reserved
      f0000000-f3ffffff : pnp 00:00
fec00000-fec003ff : IOAPIC 0
fed00000-fed003ff : HPET 0
  fed00000-fed003ff : pnp 00:01
fed14000-fed17fff : pnp 00:00
fed18000-fed18fff : pnp 00:00
fed19000-fed19fff : pnp 00:00
fed1c000-fed1ffff : pnp 00:00
  fed1f410-fed1f414 : iTCO_wdt
    fed1f410-fed1f414 : iTCO_wdt
fed20000-fed3ffff : pnp 00:00
fed40000-fed44fff : PCI Bus 0000:00
  fed40000-fed44fff : pnp 00:00
fed45000-fed8ffff : pnp 00:00
fee00000-fee00fff : Local APIC
ff000000-ffffffff : INT0800:00
$ sudo pm-suspend
$ sudo cbmem -l
Failed to mmap /dev/mem: Operation not permitted
$ dmesg | tail -1
[ 2834.560179] Program cbmem tried to access /dev/mem between f0000->1f0000.
$ sudo strace cbmem -l
[…]
open("/lib/i386-linux-gnu/i686/cmov/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\233\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1742588, ...}) = 0
mmap2(NULL, 1747580, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb756e000
mmap2(0xb7713000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a5000) = 0xb7713000
mmap2(0xb7716000, 10876, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7716000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb756d000
set_thread_area({entry_number:-1, base_addr:0xb756d940, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 (entry_number:6)
mprotect(0xb7713000, 8192, PROT_READ)   = 0
mprotect(0xb775e000, 4096, PROT_READ)   = 0
munmap(0xb7719000, 130429)              = 0
open("/dev/mem", O_RDONLY)              = 3
mmap2(NULL, 1048576, PROT_READ, MAP_SHARED, 3, 0) = 0xb746d000
munmap(0xb746d000, 1048576)             = 0
mmap2(NULL, 1048576, PROT_READ, MAP_SHARED, 3, 0xf0000) = -1 EPERM (Operation not permitted)
write(2, "Failed to mmap /dev/mem: Operati"..., 49Failed to mmap /dev/mem: Operation not permitted
) = 49
exit_group(1)                           = ?
+++ exited with 1 +++
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20150104/ff30f0a0/attachment.asc>


More information about the coreboot mailing list