flashrom
Threads by month
- ----- 2026 -----
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
September 2013
- 25 participants
- 142 discussions
Sept. 22, 2013
flashrom v0.9.7-r1711 on Darwin 12.5.0 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.2.0, LLVM Clang 4.2 (clang-425.0.28), little endian
Command line (5 args): ~/Desktop/DPCIManager_ML/DPCIManager.app/Contents/MacOS/flashrom -VV -w /var/folders/h1/13t69tz54s7djznmw4fbp5300000gn/T/DPCIc8acwg.rom -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 424M loops per second, 10 myus = 11 us, 100 myus = 106 us, 1000 myus = 1110 us, 10000 myus = 9910 us, 4 myus = 4 us, OK.
Initializing internal programmer
Mapping low megabyte at 0x0000000000000400, unaligned size 0xffc00.
Mapping low megabyte, 0xffc00 bytes at unaligned 0x0000000000000400.
No coreboot table found.
DMI string system-manufacturer: "LENOVO"
DMI string system-product-name: "Lenovo G580"
DMI string system-version: "Lenovo G580"
DMI string baseboard-manufacturer: "LENOVO"
DMI string baseboard-product-name: "INVALID"
DMI string baseboard-version: "00000000INVALID "
DMI string chassis-type: "Notebook"
Laptop detected via DMI.
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and http://www.flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Aborting.
Error: Programmer initialization failed.
1
0
Sept. 22, 2013
flashrom v0.9.7-r1711 on Darwin 12.5.0 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.2.0, LLVM Clang 4.2 (clang-425.0.28), little endian
Command line (5 args): ~/Downloads/DPCIManager_ML/DPCIManager.app/Contents/MacOS/flashrom -VV -r ~/Desktop/ASUSTeK P8B75-M LX 1308.rom -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 484M loops per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 1011 us, 10000 myus = 10806 us, 4 myus = 4 us, OK.
Initializing internal programmer
Mapping low megabyte at 0x0000000000000400, unaligned size 0xffc00.
Mapping low megabyte, 0xffc00 bytes at unaligned 0x0000000000000400.
No coreboot table found.
DMI string system-manufacturer: "System manufacturer"
DMI string system-product-name: "System Product Name"
DMI string system-version: "System Version"
DMI string baseboard-manufacturer: "ASUSTeK COMPUTER INC."
DMI string baseboard-product-name: "P8B75-M LX"
DMI string baseboard-version: "Rev X.0x"
DMI string chassis-type: "Desktop"
Found chipset "Intel B75" with PCI ID 8086:1e49. Enabling flash write...
0xfff80000/0xffb80000 FWH IDSEL: 0x0
0xfff00000/0xffb00000 FWH IDSEL: 0x0
0xffe80000/0xffa80000 FWH IDSEL: 0x1
0xffe00000/0xffa00000 FWH IDSEL: 0x1
0xffd80000/0xff980000 FWH IDSEL: 0x2
0xffd00000/0xff900000 FWH IDSEL: 0x2
0xffc80000/0xff880000 FWH IDSEL: 0x3
0xffc00000/0xff800000 FWH IDSEL: 0x3
0xff700000/0xff300000 FWH IDSEL: 0x4
0xff600000/0xff200000 FWH IDSEL: 0x5
0xff500000/0xff100000 FWH IDSEL: 0x6
0xff400000/0xff000000 FWH IDSEL: 0x7
0xfff80000/0xffb80000 FWH decode enabled
0xfff00000/0xffb00000 FWH decode enabled
0xffe80000/0xffa80000 FWH decode enabled
0xffe00000/0xffa00000 FWH decode enabled
0xffd80000/0xff980000 FWH decode enabled
0xffd00000/0xff900000 FWH decode enabled
0xffc80000/0xff880000 FWH decode enabled
0xffc00000/0xff800000 FWH decode enabled
0xff700000/0xff300000 FWH decode enabled
0xff600000/0xff200000 FWH decode enabled
0xff500000/0xff100000 FWH decode enabled
0xff400000/0xff000000 FWH decode enabled
Maximum FWH chip size: 0x100000 bytes
BIOS_CNTL = 0x0a: BIOS Lock Enable: enabled, BIOS Write Enable: disabled
Warning: Setting Bios Control at 0xdc from 0x0a to 0x0b on B75 failed.
New value is 0x0a.
Root Complex Register Block address = 0xfed1c000
GCS = 0xc65: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x3 (SPI)
Top Swap : not enabled
SPIBAR = 0xfed1c000 + 0x3800
0x04: 0xe008 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
Warning: SPI Configuration Lockdown activated.
Reading OPCODES... done
OP Type Pre-OP
op[0]: 0x02, write w/ addr, none
op[1]: 0x03, read w/ addr, none
op[2]: 0x20, write w/ addr, none
op[3]: 0x05, read w/o addr, none
op[4]: 0x9f, read w/o addr, none
op[5]: 0x01, write w/o addr, none
op[6]: 0x00, read w/o addr, none
op[7]: 0x00, read w/o addr, none
Pre-OP 0: 0x06, Pre-OP 1: 0x00
0x06: 0x0000 (HSFC)
HSFC: FGO=0, FCYCLE=0, FDBC=0, SME=0
0x08: 0x00807882 (FADDR)
0x50: 0x00000a0b (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0x0a, BRRA 0x0b
0x54: 0x00000000 FREG0: Warning: Flash Descriptor region (0x00000000-0x00000fff) is read-only.
0x58: 0x0fff0800 FREG1: BIOS region (0x00800000-0x00ffffff) is read-write.
0x5C: 0x07ff0001 FREG2: Warning: Management Engine region (0x00001000-0x007fffff) is locked.
0x60: 0x00001fff FREG3: Gigabit Ethernet region is unused.
0x64: 0x00001fff FREG4: Platform Data region is unused.
Not all flash regions are freely accessible by flashrom. This is most likely
due to an active ME. Please see http://flashrom.org/ME for details.
0x74: 0x00000000 (PR0 is unused)
0x78: 0x00000000 (PR1 is unused)
0x7C: 0x00000000 (PR2 is unused)
0x80: 0x00000000 (PR3 is unused)
0x84: 0x00000000 (PR4 is unused)
Writes have been disabled for safety reasons. You can enforce write
support with the ich_spi_force programmer option, but you will most likely
harm your hardware! If you force flashrom you will get no support if
something breaks. On a few mainboards it is possible to enable write
access by setting a jumper (see its documentation or the board itself).
0x90: 0x80 (SSFS)
SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0
0x91: 0xf94010 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=0, SME=0, SCF=1
0x94: 0x0006 (PREOP)
0x96: 0x043b (OPTYPE)
0x98: 0x05200302 (OPMENU)
0x9C: 0x0000019f (OPMENU+4)
0xA0: 0x00000000 (BBAR)
0xC4: 0x00802005 (LVSCC)
LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1
0xC8: 0x00002005 (UVSCC)
UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=0
0xD0: 0x00000000 (FPB)
Reading flash descriptors mapped by the chipset via FDOC/FDOD... done.
=== Content Section ===
FLVALSIG 0x0ff0a55a
FLMAP0 0x02040103
FLMAP1 0x12100206
FLMAP2 0x00210120
--- Details ---
NR (Number of Regions): 3
FRBA (Flash Region Base Address): 0x040
NC (Number of Components): 2
FCBA (Flash Component Base Address): 0x030
ISL (ICH/PCH Strap Length): 18
FISBA/FPSBA (Flash ICH/PCH Strap Base Address): 0x100
NM (Number of Masters): 3
FMBA (Flash Master Base Address): 0x060
MSL/PSL (MCH/PROC Strap Length): 1
FMSBA (Flash MCH/PROC Strap Base Address): 0x200
=== Component Section ===
FLCOMP 0x09300024
FLILL 0x00000000
--- Details ---
Component 1 density: 8 MB
Component 2 density: 8 MB
Read Clock Frequency: 20 MHz
Read ID and Status Clock Freq.: 33 MHz
Write and Erase Clock Freq.: 33 MHz
Fast Read is supported.
Fast Read Clock Frequency: 33 MHz
No forbidden opcodes.
=== Region Section ===
FLREG0 0x00000000
FLREG1 0x0fff0800
FLREG2 0x07ff0001
FLREG3 0x00001fff
FLREG4 0x00001fff
--- Details ---
Region 0 (Descr.) 0x00000000 - 0x00000fff
Region 1 (BIOS ) 0x00800000 - 0x00ffffff
Region 2 (ME ) 0x00001000 - 0x007fffff
Region 3 (GbE ) is unused.
Region 4 (Platf.) is unused.
=== Master Section ===
FLMSTR1 0x0a0b0000
FLMSTR2 0x0c0d0000
FLMSTR3 0x08080118
--- Details ---
Descr. BIOS ME GbE Platf.
BIOS r rw rw
ME r rw rw
GbE rw
Enabling hardware sequencing due to multiple flash chips detected.
SPI Read Configuration: prefetching enabled, caching enabled, PROBLEMS, continuing anyway
The following protocols are supported: FWH, Programmer-specific.
Probing for Programmer Opaque flash chip, 0 kB: Found 2 attached SPI flash chips with a combined density of 16384 kB.
There is only one partition containing the whole address space (0x000000 - 0xffffff).
There are 4096 erase blocks with 4096 B each.
Found Programmer flash chip "Opaque flash chip" (16384 kB, Programmer-specific) at physical address 0x0.
Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AB, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL002, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL004, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF002A/B, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0x50, id2 0x50, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004A/B, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF016C, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040A, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW016, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW040, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W49V002FA, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA (dual mode), 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Found Programmer flash chip "Opaque flash chip" (16384 kB, Programmer-specific).
Reading flash... Reading 16777216 bytes starting at 0x000000.
Transaction error between offset 0x00001000 and 0x0000103f (= 0x00001000 + 63)!
HSFS: FDONE=1, FCERR=1, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
HSFC: FGO=0, FCYCLE=0, FDBC=63, SME=0
Read operation failed!
FAILED.
Restoring MMIO space at 0x10ea118a0
Restoring PCI config space for 00:1f:0 reg 0xdc
1
0
Report: Intel DX58SO SOX5810J.86A.5600.2013.0729.2250 read
by dpcimanager@users.sourceforge.net Sept. 22, 2013
by dpcimanager@users.sourceforge.net Sept. 22, 2013
Sept. 22, 2013
flashrom v0.9.7-r1711 on Darwin 12.5.0 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.2.0, LLVM Clang 4.2 (clang-425.0.28), little endian
Command line (5 args): ~/Desktop/DPCIManager_ML/DPCIManager.app/Contents/MacOS/flashrom -VV -r /var/folders/mn/5ls503m51dvg7wh77z9p7x1r0000gn/T/DPCIoF4ZyH.rom -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 534M loops per second, 10 myus = 10 us, 100 myus = 99 us, 1000 myus = 988 us, 10000 myus = 9883 us, 4 myus = 4 us, OK.
Initializing internal programmer
Mapping low megabyte at 0x0000000000000400, unaligned size 0xffc00.
Mapping low megabyte, 0xffc00 bytes at unaligned 0x0000000000000400.
No coreboot table found.
DMI string system-manufacturer: " "
DMI string system-product-name: " "
DMI string system-version: " "
DMI string baseboard-manufacturer: "Intel Corporation"
DMI string baseboard-product-name: "DX58SO"
DMI string baseboard-version: "AAE29331-703"
DMI string chassis-type: "Unknown"
DMI chassis-type is not specific enough.
W836xx enter config mode worked or we were already in config mode. W836xx leave config mode had no effect.
Active config mode, unknown reg 0x20 ID: f1.
Please send the output of "flashrom -V" to
flashrom(a)flashrom.org with W836xx: your board name: flashrom -V
as the subject to help us finish support for your Super I/O. Thanks.
========================================================================
WARNING! You may be running flashrom on an unsupported laptop. We could
not detect this for sure because your vendor has not setup the SMBIOS
tables correctly. You can enforce execution by adding
'-p internal:laptop=this_is_not_a_laptop' to the command line, but
please read the following warning if you are not sure.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and http://www.flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Aborting.
Error: Programmer initialization failed.
1
0
Report: Hewlett-Packard 17F6 68IRR Ver. F.41 read
by dpcimanager@users.sourceforge.net Sept. 22, 2013
by dpcimanager@users.sourceforge.net Sept. 22, 2013
Sept. 22, 2013
flashrom v0.9.7-r1711 on Darwin 12.5.0 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.2.0, LLVM Clang 4.2 (clang-425.0.28), little endian
Command line (5 args): ~/Downloads/DPCIManager_ML/DPCIManager.app/Contents/MacOS/flashrom -VV -r /var/folders/y4/mz6b52v9181c2t4ct96133dm0000gn/T/DPCIXu0rtJ.rom -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 426M loops per second, 10 myus = 11 us, 100 myus = 114 us, 1000 myus = 1089 us, 10000 myus = 10273 us, 4 myus = 4 us, OK.
Initializing internal programmer
Mapping low megabyte at 0x0000000000000400, unaligned size 0xffc00.
Mapping low megabyte, 0xffc00 bytes at unaligned 0x0000000000000400.
No coreboot table found.
DMI string system-manufacturer: "Hewlett-Packard"
DMI string system-product-name: "HP ProBook 4540s"
DMI string system-version: "A1018C1100"
DMI string baseboard-manufacturer: "Hewlett-Packard"
DMI string baseboard-product-name: "17F6"
DMI string baseboard-version: "KBC Version 58.1E"
DMI string chassis-type: "Notebook"
Laptop detected via DMI.
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and http://www.flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Aborting.
Error: Programmer initialization failed.
1
0
Sept. 22, 2013
flashrom v0.9.7-r1711 on Darwin 12.5.0 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.2.0, LLVM Clang 4.2 (clang-425.0.28), little endian
Command line (5 args): ~/Downloads/DPCIManager_Lion/DPCIManager.app/Contents/MacOS/flashrom -VV -r /var/folders/1y/nmb1pz117g78v7j8zfqwpxb80000gn/T/DPCIHwXkUY.rom -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 455M loops per second, 10 myus = 9 us, 100 myus = 91 us, 1000 myus = 948 us, 10000 myus = 9116 us, 4 myus = 4 us, OK.
Initializing internal programmer
Mapping low megabyte at 0x0000000000000400, unaligned size 0xffc00.
Mapping low megabyte, 0xffc00 bytes at unaligned 0x0000000000000400.
No coreboot table found.
DMI string system-manufacturer: "Gigabyte Technology Co., Ltd."
DMI string system-product-name: "To be filled by O.E.M."
DMI string system-version: "To be filled by O.E.M."
DMI string baseboard-manufacturer: "Gigabyte Technology Co., Ltd."
DMI string baseboard-product-name: "Z77X-D3H"
DMI string baseboard-version: "x.x"
DMI string chassis-type: "Desktop"
Found ITE Super I/O, ID 0x8728 on port 0x2e
Found chipset "Intel Z77" with PCI ID 8086:1e44. Enabling flash write...
0xfff80000/0xffb80000 FWH IDSEL: 0x0
0xfff00000/0xffb00000 FWH IDSEL: 0x0
0xffe80000/0xffa80000 FWH IDSEL: 0x1
0xffe00000/0xffa00000 FWH IDSEL: 0x1
0xffd80000/0xff980000 FWH IDSEL: 0x2
0xffd00000/0xff900000 FWH IDSEL: 0x2
0xffc80000/0xff880000 FWH IDSEL: 0x3
0xffc00000/0xff800000 FWH IDSEL: 0x3
0xff700000/0xff300000 FWH IDSEL: 0x4
0xff600000/0xff200000 FWH IDSEL: 0x5
0xff500000/0xff100000 FWH IDSEL: 0x6
0xff400000/0xff000000 FWH IDSEL: 0x7
0xfff80000/0xffb80000 FWH decode enabled
0xfff00000/0xffb00000 FWH decode enabled
0xffe80000/0xffa80000 FWH decode enabled
0xffe00000/0xffa00000 FWH decode enabled
0xffd80000/0xff980000 FWH decode enabled
0xffd00000/0xff900000 FWH decode enabled
0xffc80000/0xff880000 FWH decode enabled
0xffc00000/0xff800000 FWH decode enabled
0xff700000/0xff300000 FWH decode enabled
0xff600000/0xff200000 FWH decode enabled
0xff500000/0xff100000 FWH decode enabled
0xff400000/0xff000000 FWH decode enabled
Maximum FWH chip size: 0x100000 bytes
BIOS_CNTL = 0x09: BIOS Lock Enable: disabled, BIOS Write Enable: enabled
Root Complex Register Block address = 0xfed1c000
GCS = 0xc64: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x3 (SPI)
Top Swap : not enabled
SPIBAR = 0xfed1c000 + 0x3800
0x04: 0xe008 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
Warning: SPI Configuration Lockdown activated.
Reading OPCODES... done
OP Type Pre-OP
op[0]: 0x02, write w/ addr, none
op[1]: 0x03, read w/ addr, none
op[2]: 0x20, write w/ addr, none
op[3]: 0x05, read w/o addr, none
op[4]: 0x9f, read w/o addr, none
op[5]: 0x01, write w/o addr, none
op[6]: 0x00, read w/o addr, none
op[7]: 0x00, read w/o addr, none
Pre-OP 0: 0x06, Pre-OP 1: 0x00
0x06: 0x0000 (HSFC)
HSFC: FGO=0, FCYCLE=0, FDBC=0, SME=0
0x08: 0x00213f5b (FADDR)
0x50: 0x0000ffff (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0xff, BRRA 0xff
0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write.
0x58: 0x07ff0000 FREG1: BIOS region (0x00000000-0x007fffff) is read-write.
0x5C: 0x01ff0001 FREG2: Management Engine region (0x00001000-0x001fffff) is read-write.
0x60: 0x00001fff FREG3: Gigabit Ethernet region is unused.
0x64: 0x00001fff FREG4: Platform Data region is unused.
0x74: 0x00000000 (PR0 is unused)
0x78: 0x00000000 (PR1 is unused)
0x7C: 0x00000000 (PR2 is unused)
0x80: 0x00000000 (PR3 is unused)
0x84: 0x00000000 (PR4 is unused)
0x90: 0x80 (SSFS)
SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0
0x91: 0xf94010 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=0, SME=0, SCF=1
0x94: 0x0006 (PREOP)
0x96: 0x043b (OPTYPE)
0x98: 0x05200302 (OPMENU)
0x9C: 0x0000019f (OPMENU+4)
0xA0: 0x00000000 (BBAR)
0xC4: 0x00802005 (LVSCC)
LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1
0xC8: 0x00002005 (UVSCC)
UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=0
0xD0: 0x00000000 (FPB)
Reading flash descriptors mapped by the chipset via FDOC/FDOD... done.
=== Content Section ===
FLVALSIG 0x0ff0a55a
FLMAP0 0x02040003
FLMAP1 0x12100206
FLMAP2 0x00210120
--- Details ---
NR (Number of Regions): 3
FRBA (Flash Region Base Address): 0x040
NC (Number of Components): 1
FCBA (Flash Component Base Address): 0x030
ISL (ICH/PCH Strap Length): 18
FISBA/FPSBA (Flash ICH/PCH Strap Base Address): 0x100
NM (Number of Masters): 3
FMBA (Flash Master Base Address): 0x060
MSL/PSL (MCH/PROC Strap Length): 1
FMSBA (Flash MCH/PROC Strap Base Address): 0x200
=== Component Section ===
FLCOMP 0x09300024
FLILL 0x00000000
--- Details ---
Component 1 density: 8 MB
Component 2 is not used.
Read Clock Frequency: 20 MHz
Read ID and Status Clock Freq.: 33 MHz
Write and Erase Clock Freq.: 33 MHz
Fast Read is supported.
Fast Read Clock Frequency: 33 MHz
No forbidden opcodes.
=== Region Section ===
FLREG0 0x00000000
FLREG1 0x07ff0000
FLREG2 0x01ff0001
FLREG3 0x00001fff
FLREG4 0x00001fff
--- Details ---
Region 0 (Descr.) 0x00000000 - 0x00000fff
Region 1 (BIOS ) 0x00000000 - 0x007fffff
Region 2 (ME ) 0x00001000 - 0x001fffff
Region 3 (GbE ) is unused.
Region 4 (Platf.) is unused.
=== Master Section ===
FLMSTR1 0xffff0000
FLMSTR2 0xffff0000
FLMSTR3 0xffff0118
--- Details ---
Descr. BIOS ME GbE Platf.
BIOS rw rw rw rw rw
ME rw rw rw rw rw
GbE rw rw rw rw rw
SPI Read Configuration: prefetching enabled, caching enabled, OK.
Super I/O ID 0x8728 is not on the list of flash capable controllers.
The following protocols are supported: FWH, SPI.
Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L10PT, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L10PU, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L20PT, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L20PU, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L40PT, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L40PU, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L80P, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L16PT, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L16PU, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L512, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L010, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L020, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L040, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L080, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L016, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25L032, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25LQ16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25LQ032/A25LQ32A, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for AMIC A25LQ64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF021, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF041A, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF081, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF321, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF321A, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DF641(A), 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25DQ161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25F512, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512A, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512B, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25F1024(A), 128 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F2048, 256 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F4096, 512 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25FS010, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT25FS040, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT26DF041, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT26DF081A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT26DF161, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT26DF161A, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT26F004, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45CS1282, 16896 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB011D, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB021D, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB041D, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB081D, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB161D, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB321C, 4224 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB321D, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Atmel AT45DB642D, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for ESMT F25L008A, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B05, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B05T, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B10T, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B20T, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B40T, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B80T, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B16T, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B32T, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25B64T, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F05, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25F64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25Q40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25Q80(A), 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25Q16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25Q32(A/B), 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25Q64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25Q128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25QH16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25QH32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25QH64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25QH128, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25S10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25S20, 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25S40, 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25S80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25S16, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25S32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Eon EN25S64, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25LQ32, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q512, 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q10, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q20(B), 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q40(B), 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q80(B), 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q16(B), 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q32(B), 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q64(B), 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25Q128B, 16384 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for GigaDevice GD25T80, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Intel 25F160S33B8, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Intel 25F160S33T8, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Intel 25F320S33B8, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Intel 25F320S33T8, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Intel 25F640S33B8, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Intel 25F640S33T8, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L512(E)/MX25V512(C), 64 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L1005(C)/MX25L1006E, 128 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L2005(C), 256 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L4005(A/C), 512 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L8005/MX25V8005, 1024 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L1605, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L1605A/MX25L1606E, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L1605D/MX25L1608D, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L1635D, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L1635E, 2048 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L3205(A), 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L3205D/MX25L3208D, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L3206E, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L3235D, 4096 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Probing for Macronix MX25L6405(D), 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Found Macronix flash chip "MX25L6405(D)" (8192 kB, SPI) at physical address 0xff800000.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Bit 6 is not set
Chip status register: Block Protect 3 (BP3) is not set
Chip status register: Block Protect 2 (BP2) is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Probing for Macronix MX25L6406E/MX25L6436E, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Found Macronix flash chip "MX25L6406E/MX25L6436E" (8192 kB, SPI) at physical address 0xff800000.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Bit 6 is not set
Chip status register: Block Protect 3 (BP3) is not set
Chip status register: Block Protect 2 (BP2) is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Probing for Macronix MX25L6445E, 8192 kB: probe_spi_rdid_generic: id1 0xc2, id2 0x2017
Found Macronix flash chip "MX25L6445E" (8192 kB, SPI) at physical address 0xff800000.
Chip status register is 0x00.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not set
Chip status register: Bit 6 is not set
Chip status register: Block Protect 3 (BP3) is not set
Chip status register: Block Protect 2 (BP2) is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
Multiple flash chip definitions match the detected chip(s): "MX25L6405(D)", "MX25L6406E/MX25L6436E", "MX25L6445E"
Please specify which chip definition to use with the -c <chipname> option.
Restoring MMIO space at 0x10be048a0
Restoring PCI config space for 00:1f:0 reg 0xdc
1
0
flashrom v0.9.7-r1711 on Darwin 12.4.0 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.2.0, LLVM Clang 4.2 (clang-425.0.28), little endian
Command line (5 args): ~/Downloads/DPCIManager_ML/DPCIManager.app/Contents/MacOS/flashrom -VV -r /var/folders/69/8lkkrhz52bz_xzwkkybpysd00000gn/T/DPCI0E53if.rom -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 356M loops per second, 10 myus = 9 us, 100 myus = 102 us, 1000 myus = 1013 us, 10000 myus = 11188 us, 4 myus = 4 us, OK.
Initializing internal programmer
Mapping low megabyte at 0x0000000000000400, unaligned size 0xffc00.
Mapping low megabyte, 0xffc00 bytes at unaligned 0x0000000000000400.
No coreboot table found.
DMI string system-manufacturer: "Dell Inc."
DMI string system-product-name: "Vostro 1520"
DMI string system-version: "Null"
DMI string baseboard-manufacturer: "Dell Inc."
DMI string baseboard-product-name: "0J048T"
DMI string baseboard-version: " "
DMI string chassis-type: "Portable"
Laptop detected via DMI.
========================================================================
WARNING! You seem to be running flashrom on an unsupported laptop.
Laptops, notebooks and netbooks are difficult to support and we
recommend to use the vendor flashing utility. The embedded controller
(EC) in these machines often interacts badly with flashing.
See the manpage and http://www.flashrom.org/Laptops for details.
If flash is shared with the EC, erase is guaranteed to brick your laptop
and write may brick your laptop.
Read and probe may irritate your EC and cause fan failure, backlight
failure and sudden poweroff.
You have been warned.
========================================================================
Aborting.
Error: Programmer initialization failed.
1
0
Sept. 22, 2013
flashrom v0.9.7-r1711 on Darwin 12.5.0 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
flashrom was built with libpci 3.2.0, LLVM Clang 4.2 (clang-425.0.28), little endian
Command line (5 args): ~/Downloads/DPCIManager_ML/DPCIManager.app/Contents/MacOS/flashrom -VV -w /var/folders/qg/zb0nbl_x67zcx9vtlktx_1fh0000gn/T/DPCI81XDks.rom -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 205M loops per second, 10 myus = 9 us, 100 myus = 91 us, 1000 myus = 6232 us, 10000 myus = 10427 us, 4 myus = 4 us, OK.
Initializing internal programmer
Mapping low megabyte at 0x0000000000000400, unaligned size 0xffc00.
Mapping low megabyte, 0xffc00 bytes at unaligned 0x0000000000000400.
No coreboot table found.
DMI string system-manufacturer: "System manufacturer"
DMI string system-product-name: "System Product Name"
DMI string system-version: "System Version"
DMI string baseboard-manufacturer: "ASUSTeK COMPUTER INC."
DMI string baseboard-product-name: "P8B75-V"
DMI string baseboard-version: "Rev X.0x"
DMI string chassis-type: "Desktop"
Found chipset "Intel B75" with PCI ID 8086:1e49. Enabling flash write...
0xfff80000/0xffb80000 FWH IDSEL: 0x0
0xfff00000/0xffb00000 FWH IDSEL: 0x0
0xffe80000/0xffa80000 FWH IDSEL: 0x1
0xffe00000/0xffa00000 FWH IDSEL: 0x1
0xffd80000/0xff980000 FWH IDSEL: 0x2
0xffd00000/0xff900000 FWH IDSEL: 0x2
0xffc80000/0xff880000 FWH IDSEL: 0x3
0xffc00000/0xff800000 FWH IDSEL: 0x3
0xff700000/0xff300000 FWH IDSEL: 0x4
0xff600000/0xff200000 FWH IDSEL: 0x5
0xff500000/0xff100000 FWH IDSEL: 0x6
0xff400000/0xff000000 FWH IDSEL: 0x7
0xfff80000/0xffb80000 FWH decode enabled
0xfff00000/0xffb00000 FWH decode enabled
0xffe80000/0xffa80000 FWH decode enabled
0xffe00000/0xffa00000 FWH decode enabled
0xffd80000/0xff980000 FWH decode enabled
0xffd00000/0xff900000 FWH decode enabled
0xffc80000/0xff880000 FWH decode enabled
0xffc00000/0xff800000 FWH decode enabled
0xff700000/0xff300000 FWH decode enabled
0xff600000/0xff200000 FWH decode enabled
0xff500000/0xff100000 FWH decode enabled
0xff400000/0xff000000 FWH decode enabled
Maximum FWH chip size: 0x100000 bytes
BIOS_CNTL = 0x0a: BIOS Lock Enable: enabled, BIOS Write Enable: disabled
Warning: Setting Bios Control at 0xdc from 0x0a to 0x0b on B75 failed.
New value is 0x0a.
Root Complex Register Block address = 0xfed1c000
GCS = 0xc65: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x3 (SPI)
Top Swap : not enabled
SPIBAR = 0xfed1c000 + 0x3800
0x04: 0xe008 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
Warning: SPI Configuration Lockdown activated.
Reading OPCODES... done
OP Type Pre-OP
op[0]: 0x02, write w/ addr, none
op[1]: 0x03, read w/ addr, none
op[2]: 0x20, write w/ addr, none
op[3]: 0x05, read w/o addr, none
op[4]: 0x9f, read w/o addr, none
op[5]: 0x01, write w/o addr, none
op[6]: 0x00, read w/o addr, none
op[7]: 0x00, read w/o addr, none
Pre-OP 0: 0x06, Pre-OP 1: 0x00
0x06: 0x3f00 (HSFC)
HSFC: FGO=0, FCYCLE=0, FDBC=63, SME=0
0x08: 0x00ffffc0 (FADDR)
0x50: 0x0000ffff (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0xff, BRRA 0xff
0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write.
0x58: 0x0fff0800 FREG1: BIOS region (0x00800000-0x00ffffff) is read-write.
0x5C: 0x07ff0001 FREG2: Management Engine region (0x00001000-0x007fffff) is read-write.
0x60: 0x00001fff FREG3: Gigabit Ethernet region is unused.
0x64: 0x00001fff FREG4: Platform Data region is unused.
0x74: 0x00000000 (PR0 is unused)
0x78: 0x00000000 (PR1 is unused)
0x7C: 0x00000000 (PR2 is unused)
0x80: 0x00000000 (PR3 is unused)
0x84: 0x00000000 (PR4 is unused)
0x90: 0x80 (SSFS)
SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0
0x91: 0xf94010 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=0, SME=0, SCF=1
0x94: 0x0006 (PREOP)
0x96: 0x043b (OPTYPE)
0x98: 0x05200302 (OPMENU)
0x9C: 0x0000019f (OPMENU+4)
0xA0: 0x00000000 (BBAR)
0xC4: 0x00802005 (LVSCC)
LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1
0xC8: 0x00002005 (UVSCC)
UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=0
0xD0: 0x00000000 (FPB)
Reading flash descriptors mapped by the chipset via FDOC/FDOD... done.
=== Content Section ===
FLVALSIG 0x0ff0a55a
FLMAP0 0x02040103
FLMAP1 0x12100206
FLMAP2 0x00210120
--- Details ---
NR (Number of Regions): 3
FRBA (Flash Region Base Address): 0x040
NC (Number of Components): 2
FCBA (Flash Component Base Address): 0x030
ISL (ICH/PCH Strap Length): 18
FISBA/FPSBA (Flash ICH/PCH Strap Base Address): 0x100
NM (Number of Masters): 3
FMBA (Flash Master Base Address): 0x060
MSL/PSL (MCH/PROC Strap Length): 1
FMSBA (Flash MCH/PROC Strap Base Address): 0x200
=== Component Section ===
FLCOMP 0x09300024
FLILL 0x00000000
--- Details ---
Component 1 density: 8 MB
Component 2 density: 8 MB
Read Clock Frequency: 20 MHz
Read ID and Status Clock Freq.: 33 MHz
Write and Erase Clock Freq.: 33 MHz
Fast Read is supported.
Fast Read Clock Frequency: 33 MHz
No forbidden opcodes.
=== Region Section ===
FLREG0 0x00000000
FLREG1 0x0fff0800
FLREG2 0x07ff0001
FLREG3 0x00001fff
FLREG4 0x00001fff
--- Details ---
Region 0 (Descr.) 0x00000000 - 0x00000fff
Region 1 (BIOS ) 0x00800000 - 0x00ffffff
Region 2 (ME ) 0x00001000 - 0x007fffff
Region 3 (GbE ) is unused.
Region 4 (Platf.) is unused.
=== Master Section ===
FLMSTR1 0xffff0000
FLMSTR2 0xffff0000
FLMSTR3 0xffff0118
--- Details ---
Descr. BIOS ME GbE Platf.
BIOS rw rw rw rw rw
ME rw rw rw rw rw
GbE rw rw rw rw rw
Enabling hardware sequencing due to multiple flash chips detected.
SPI Read Configuration: prefetching enabled, caching enabled, PROBLEMS, continuing anyway
The following protocols are supported: FWH, Programmer-specific.
Probing for Programmer Opaque flash chip, 0 kB: Found 2 attached SPI flash chips with a combined density of 16384 kB.
There is only one partition containing the whole address space (0x000000 - 0xffffff).
There are 4096 erase blocks with 4096 B each.
Found Programmer flash chip "Opaque flash chip" (16384 kB, Programmer-specific) at physical address 0x0.
Probing for Atmel AT49LH002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AB, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Intel 82802AC, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL002, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for PMC Pm49FL004, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Sharp LHF00L04, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF002A/B, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF003A/B, 384 kB: probe_jedec_common: id1 0x45, id2 0x10, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004A/B, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF004C, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008A, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF008C, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for SST SST49LF016C, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040A, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW040B, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080A, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FLW080B, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW002, 256 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW016, 2048 kB: Chip size 2048 kB is bigger than supported size 1024 kB of chipset/board/programmer for FWH interface, probe/read/erase/write may fail. probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW040, 512 kB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for ST M50FW080, 1024 kB: probe_82802ab: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FA, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FB, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V040FC, 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W49V002FA, 256 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA, 1024 kB: probe_jedec_common: id1 0x00, id2 0x00, id1 parity violation, id1 is normal flash content, id2 is normal flash content
Probing for Winbond W39V080FA (dual mode), 512 kB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content
Found Programmer flash chip "Opaque flash chip" (16384 kB, Programmer-specific).
Flash image seems to be a legacy BIOS. Disabling coreboot-related checks.
Reading old flash chip contents... Reading 16777216 bytes starting at 0x000000.
done.
Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:S, 0x001000-0x001fff:S, 0x002000-0x002fff:S, 0x003000-0x003fff:S, 0x004000-0x004fff:S, 0x005000-0x005fff:S, 0x006000-0x006fff:S, 0x007000-0x007fff:S, 0x008000-0x008fff:S, 0x009000-0x009fff:S, 0x00a000-0x00afff:S, 0x00b000-0x00bfff:S, 0x00c000-0x00cfff:S, 0x00d000-0x00dfff:S, 0x00e000-0x00efff:S, 0x00f000-0x00ffff:S, 0x010000-0x010fff:S, 0x011000-0x011fff:S, 0x012000-0x012fff:S, 0x013000-0x013fff:S, 0x014000-0x014fff:S, 0x015000-0x015fff:S, 0x016000-0x016fff:S, 0x017000-0x017fff:S, 0x018000-0x018fff:S, 0x019000-0x019fff:S, 0x01a000-0x01afff:S, 0x01b000-0x01bfff:S, 0x01c000-0x01cfff:S, 0x01d000-0x01dfff:S, 0x01e000-0x01efff:S, 0x01f000-0x01ffff:S, 0x020000-0x020fff:S, 0x021000-0x021fff:S, 0x022000-0x022fff:S, 0x023000-0x023fff:S, 0x024000-0x024fff:S, 0x025000-0x025fff:S, 0x026000-0x026fff:S, 0x027000-0x027fff:S, 0x028000-0x028fff:S, 0x029000-0x029fff:S, 0x02a000-0x02afff:S, 0x02b000-0x02bfff:S, 0x02c000-0x02cfff:S, 0x02d000-0x02dfff:S, 0x02e000-0x02efff:S, 0x02f000-0x02ffff:S, 0x030000-0x030fff:S, 0x031000-0x031fff:S, 0x032000-0x032fff:S, 0x033000-0x033fff:S, 0x034000-0x034fff:S, 0x035000-0x035fff:S, 0x036000-0x036fff:S, 0x037000-0x037fff:S, 0x038000-0x038fff:S, 0x039000-0x039fff:S, 0x03a000-0x03afff:S, 0x03b000-0x03bfff:S, 0x03c000-0x03cfff:S, 0x03d000-0x03dfff:S, 0x03e000-0x03efff:S, 0x03f000-0x03ffff:S, 0x040000-0x040fff:S, 0x041000-0x041fff:S, 0x042000-0x042fff:S, 0x043000-0x043fff:S, 0x044000-0x044fff:S, 0x045000-0x045fff:S, 0x046000-0x046fff:S, 0x047000-0x047fff:S, 0x048000-0x048fff:S, 0x049000-0x049fff:S, 0x04a000-0x04afff:S, 0x04b000-0x04bfff:S, 0x04c000-0x04cfff:S, 0x04d000-0x04dfff:S, 0x04e000-0x04efff:S, 0x04f000-0x04ffff:S, 0x050000-0x050fff:S, 0x051000-0x051fff:S, 0x052000-0x052fff:S, 0x053000-0x053fff:S, 0x054000-0x054fff:S, 0x055000-0x055fff:S, 0x056000-0x056fff:S, 0x057000-0x057fff:S, 0x058000-0x058fff:S, 0x059000-0x059fff:S, 0x05a000-0x05afff:S, 0x05b000-0x05bfff:S, 0x05c000-0x05cfff:S, 0x05d000-0x05dfff:S, 0x05e000-0x05efff:S, 0x05f000-0x05ffff:S, 0x060000-0x060fff:S, 0x061000-0x061fff:S, 0x062000-0x062fff:S, 0x063000-0x063fff:S, 0x064000-0x064fff:S, 0x065000-0x065fff:S, 0x066000-0x066fff:S, 0x067000-0x067fff:S, 0x068000-0x068fff:S, 0x069000-0x069fff:S, 0x06a000-0x06afff:S, 0x06b000-0x06bfff:S, 0x06c000-0x06cfff:S, 0x06d000-0x06dfff:S, 0x06e000-0x06efff:S, 0x06f000-0x06ffff:S, 0x070000-0x070fff:S, 0x071000-0x071fff:S, 0x072000-0x072fff:S, 0x073000-0x073fff:S, 0x074000-0x074fff:S, 0x075000-0x075fff:S, 0x076000-0x076fff:S, 0x077000-0x077fff:S, 0x078000-0x078fff:S, 0x079000-0x079fff:S, 0x07a000-0x07afff:S, 0x07b000-0x07bfff:S, 0x07c000-0x07cfff:S, 0x07d000-0x07dfff:S, 0x07e000-0x07efff:S, 0x07f000-0x07ffff:S, 0x080000-0x080fff:S, 0x081000-0x081fff:S, 0x082000-0x082fff:S, 0x083000-0x083fff:S, 0x084000-0x084fff:S, 0x085000-0x085fff:S, 0x086000-0x086fff:S, 0x087000-0x087fff:S, 0x088000-0x088fff:S, 0x089000-0x089fff:S, 0x08a000-0x08afff:S, 0x08b000-0x08bfff:S, 0x08c000-0x08cfff:S, 0x08d000-0x08dfff:S, 0x08e000-0x08efff:S, 0x08f000-0x08ffff:S, 0x090000-0x090fff:S, 0x091000-0x091fff:S, 0x092000-0x092fff:S, 0x093000-0x093fff:S, 0x094000-0x094fff:S, 0x095000-0x095fff:S, 0x096000-0x096fff:S, 0x097000-0x097fff:S, 0x098000-0x098fff:S, 0x099000-0x099fff:S, 0x09a000-0x09afff:S, 0x09b000-0x09bfff:S, 0x09c000-0x09cfff:S, 0x09d000-0x09dfff:S, 0x09e000-0x09efff:S, 0x09f000-0x09ffff:S, 0x0a0000-0x0a0fff:S, 0x0a1000-0x0a1fff:S, 0x0a2000-0x0a2fff:S, 0x0a3000-0x0a3fff:S, 0x0a4000-0x0a4fff:S, 0x0a5000-0x0a5fff:S, 0x0a6000-0x0a6fff:S, 0x0a7000-0x0a7fff:S, 0x0a8000-0x0a8fff:S, 0x0a9000-0x0a9fff:S, 0x0aa000-0x0aafff:S, 0x0ab000-0x0abfff:S, 0x0ac000-0x0acfff:S, 0x0ad000-0x0adfff:S, 0x0ae000-0x0aefff:S, 0x0af000-0x0affff:S, 0x0b0000-0x0b0fff:S, 0x0b1000-0x0b1fff:S, 0x0b2000-0x0b2fff:S, 0x0b3000-0x0b3fff:S, 0x0b4000-0x0b4fff:S, 0x0b5000-0x0b5fff:S, 0x0b6000-0x0b6fff:S, 0x0b7000-0x0b7fff:S, 0x0b8000-0x0b8fff:S, 0x0b9000-0x0b9fff:S, 0x0ba000-0x0bafff:S, 0x0bb000-0x0bbfff:S, 0x0bc000-0x0bcfff:S, 0x0bd000-0x0bdfff:S, 0x0be000-0x0befff:S, 0x0bf000-0x0bffff:S, 0x0c0000-0x0c0fff:S, 0x0c1000-0x0c1fff:S, 0x0c2000-0x0c2fff:S, 0x0c3000-0x0c3fff:S, 0x0c4000-0x0c4fff:S, 0x0c5000-0x0c5fff:S, 0x0c6000-0x0c6fff:S, 0x0c7000-0x0c7fff:S, 0x0c8000-0x0c8fff:S, 0x0c9000-0x0c9fff:S, 0x0ca000-0x0cafff:S, 0x0cb000-0x0cbfff:S, 0x0cc000-0x0ccfff:S, 0x0cd000-0x0cdfff:S, 0x0ce000-0x0cefff:S, 0x0cf000-0x0cffff:S, 0x0d0000-0x0d0fff:S, 0x0d1000-0x0d1fff:S, 0x0d2000-0x0d2fff:S, 0x0d3000-0x0d3fff:S, 0x0d4000-0x0d4fff:S, 0x0d5000-0x0d5fff:S, 0x0d6000-0x0d6fff:S, 0x0d7000-0x0d7fff:S, 0x0d8000-0x0d8fff:S, 0x0d9000-0x0d9fff:S, 0x0da000-0x0dafff:S, 0x0db000-0x0dbfff:S, 0x0dc000-0x0dcfff:S, 0x0dd000-0x0ddfff:S, 0x0de000-0x0defff:S, 0x0df000-0x0dffff:S, 0x0e0000-0x0e0fff:S, 0x0e1000-0x0e1fff:S, 0x0e2000-0x0e2fff:S, 0x0e3000-0x0e3fff:S, 0x0e4000-0x0e4fff:S, 0x0e5000-0x0e5fff:S, 0x0e6000-0x0e6fff:S, 0x0e7000-0x0e7fff:S, 0x0e8000-0x0e8fff:S, 0x0e9000-0x0e9fff:S, 0x0ea000-0x0eafff:S, 0x0eb000-0x0ebfff:S, 0x0ec000-0x0ecfff:S, 0x0ed000-0x0edfff:S, 0x0ee000-0x0eefff:S, 0x0ef000-0x0effff:S, 0x0f0000-0x0f0fff:S, 0x0f1000-0x0f1fff:S, 0x0f2000-0x0f2fff:S, 0x0f3000-0x0f3fff:S, 0x0f4000-0x0f4fff:S, 0x0f5000-0x0f5fff:S, 0x0f6000-0x0f6fff:S, 0x0f7000-0x0f7fff:S, 0x0f8000-0x0f8fff:S, 0x0f9000-0x0f9fff:S, 0x0fa000-0x0fafff:S, 0x0fb000-0x0fbfff:S, 0x0fc000-0x0fcfff:S, 0x0fd000-0x0fdfff:S, 0x0fe000-0x0fefff:S, 0x0ff000-0x0fffff:S, 0x100000-0x100fff:S, 0x101000-0x101fff:S, 0x102000-0x102fff:S, 0x103000-0x103fff:S, 0x104000-0x104fff:S, 0x105000-0x105fff:S, 0x106000-0x106fff:S, 0x107000-0x107fff:S, 0x108000-0x108fff:S, 0x109000-0x109fff:S, 0x10a000-0x10afff:S, 0x10b000-0x10bfff:S, 0x10c000-0x10cfff:S, 0x10d000-0x10dfff:S, 0x10e000-0x10efff:S, 0x10f000-0x10ffff:S, 0x110000-0x110fff:S, 0x111000-0x111fff:S, 0x112000-0x112fff:S, 0x113000-0x113fff:S, 0x114000-0x114fff:S, 0x115000-0x115fff:S, 0x116000-0x116fff:S, 0x117000-0x117fff:S, 0x118000-0x118fff:S, 0x119000-0x119fff:S, 0x11a000-0x11afff:S, 0x11b000-0x11bfff:S, 0x11c000-0x11cfff:S, 0x11d000-0x11dfff:S, 0x11e000-0x11efff:S, 0x11f000-0x11ffff:S, 0x120000-0x120fff:S, 0x121000-0x121fff:S, 0x122000-0x122fff:S, 0x123000-0x123fff:S, 0x124000-0x124fff:S, 0x125000-0x125fff:S, 0x126000-0x126fff:S, 0x127000-0x127fff:S, 0x128000-0x128fff:S, 0x129000-0x129fff:S, 0x12a000-0x12afff:S, 0x12b000-0x12bfff:S, 0x12c000-0x12cfff:S, 0x12d000-0x12dfff:S, 0x12e000-0x12efff:S, 0x12f000-0x12ffff:S, 0x130000-0x130fff:S, 0x131000-0x131fff:S, 0x132000-0x132fff:S, 0x133000-0x133fff:S, 0x134000-0x134fff:S, 0x135000-0x135fff:S, 0x136000-0x136fff:S, 0x137000-0x137fff:S, 0x138000-0x138fff:S, 0x139000-0x139fff:S, 0x13a000-0x13afff:S, 0x13b000-0x13bfff:S, 0x13c000-0x13cfff:S, 0x13d000-0x13dfff:S, 0x13e000-0x13efff:S, 0x13f000-0x13ffff:S, 0x140000-0x140fff:S, 0x141000-0x141fff:S, 0x142000-0x142fff:S, 0x143000-0x143fff:S, 0x144000-0x144fff:S, 0x145000-0x145fff:S, 0x146000-0x146fff:S, 0x147000-0x147fff:S, 0x148000-0x148fff:S, 0x149000-0x149fff:S, 0x14a000-0x14afff:S, 0x14b000-0x14bfff:S, 0x14c000-0x14cfff:S, 0x14d000-0x14dfff:S, 0x14e000-0x14efff:S, 0x14f000-0x14ffff:S, 0x150000-0x150fff:S, 0x151000-0x151fff:S, 0x152000-0x152fff:S, 0x153000-0x153fff:S, 0x154000-0x154fff:S, 0x155000-0x155fff:S, 0x156000-0x156fff:S, 0x157000-0x157fff:S, 0x158000-0x158fff:S, 0x159000-0x159fff:S, 0x15a000-0x15afff:S, 0x15b000-0x15bfff:S, 0x15c000-0x15cfff:S, 0x15d000-0x15dfff:S, 0x15e000-0x15efff:S, 0x15f000-0x15ffff:S, 0x160000-0x160fff:S, 0x161000-0x161fff:S, 0x162000-0x162fff:S, 0x163000-0x163fff:S, 0x164000-0x164fff:S, 0x165000-0x165fff:S, 0x166000-0x166fff:S, 0x167000-0x167fff:S, 0x168000-0x168fff:S, 0x169000-0x169fff:S, 0x16a000-0x16afff:S, 0x16b000-0x16bfff:S, 0x16c000-0x16cfff:S, 0x16d000-0x16dfff:S, 0x16e000-0x16efff:S, 0x16f000-0x16ffff:S, 0x170000-0x170fff:S, 0x171000-0x171fff:S, 0x172000-0x172fff:S, 0x173000-0x173fff:S, 0x174000-0x174fff:S, 0x175000-0x175fff:S, 0x176000-0x176fff:S, 0x177000-0x177fff:S, 0x178000-0x178fff:S, 0x179000-0x179fff:S, 0x17a000-0x17afff:S, 0x17b000-0x17bfff:S, 0x17c000-0x17cfff:S, 0x17d000-0x17dfff:S, 0x17e000-0x17efff:S, 0x17f000-0x17ffff:S, 0x180000-0x180fff:S, 0x181000-0x181fff:S, 0x182000-0x182fff:S, 0x183000-0x183fff:S, 0x184000-0x184fff:S, 0x185000-0x185fff:S, 0x186000-0x186fff:S, 0x187000-0x187fff:S, 0x188000-0x188fff:S, 0x189000-0x189fff:S, 0x18a000-0x18afff:S, 0x18b000-0x18bfff:S, 0x18c000-0x18cfff:S, 0x18d000-0x18dfff:S, 0x18e000-0x18efff:S, 0x18f000-0x18ffff:S, 0x190000-0x190fff:S, 0x191000-0x191fff:S, 0x192000-0x192fff:S, 0x193000-0x193fff:S, 0x194000-0x194fff:S, 0x195000-0x195fff:S, 0x196000-0x196fff:S, 0x197000-0x197fff:S, 0x198000-0x198fff:S, 0x199000-0x199fff:S, 0x19a000-0x19afff:S, 0x19b000-0x19bfff:S, 0x19c000-0x19cfff:S, 0x19d000-0x19dfff:S, 0x19e000-0x19efff:S, 0x19f000-0x19ffff:S, 0x1a0000-0x1a0fff:S, 0x1a1000-0x1a1fff:S, 0x1a2000-0x1a2fff:S, 0x1a3000-0x1a3fff:S, 0x1a4000-0x1a4fff:S, 0x1a5000-0x1a5fff:S, 0x1a6000-0x1a6fff:S, 0x1a7000-0x1a7fff:S, 0x1a8000-0x1a8fff:S, 0x1a9000-0x1a9fff:S, 0x1aa000-0x1aafff:S, 0x1ab000-0x1abfff:S, 0x1ac000-0x1acfff:S, 0x1ad000-0x1adfff:S, 0x1ae000-0x1aefff:S, 0x1af000-0x1affff:S, 0x1b0000-0x1b0fff:S, 0x1b1000-0x1b1fff:S, 0x1b2000-0x1b2fff:S, 0x1b3000-0x1b3fff:S, 0x1b4000-0x1b4fff:S, 0x1b5000-0x1b5fff:S, 0x1b6000-0x1b6fff:S, 0x1b7000-0x1b7fff:S, 0x1b8000-0x1b8fff:S, 0x1b9000-0x1b9fff:S, 0x1ba000-0x1bafff:S, 0x1bb000-0x1bbfff:S, 0x1bc000-0x1bcfff:S, 0x1bd000-0x1bdfff:S, 0x1be000-0x1befff:S, 0x1bf000-0x1bffff:S, 0x1c0000-0x1c0fff:S, 0x1c1000-0x1c1fff:S, 0x1c2000-0x1c2fff:S, 0x1c3000-0x1c3fff:S, 0x1c4000-0x1c4fff:S, 0x1c5000-0x1c5fff:S, 0x1c6000-0x1c6fff:S, 0x1c7000-0x1c7fff:S, 0x1c8000-0x1c8fff:S, 0x1c9000-0x1c9fff:S, 0x1ca000-0x1cafff:S, 0x1cb000-0x1cbfff:S, 0x1cc000-0x1ccfff:S, 0x1cd000-0x1cdfff:S, 0x1ce000-0x1cefff:S, 0x1cf000-0x1cffff:S, 0x1d0000-0x1d0fff:S, 0x1d1000-0x1d1fff:S, 0x1d2000-0x1d2fff:S, 0x1d3000-0x1d3fff:S, 0x1d4000-0x1d4fff:S, 0x1d5000-0x1d5fff:S, 0x1d6000-0x1d6fff:S, 0x1d7000-0x1d7fff:S, 0x1d8000-0x1d8fff:S, 0x1d9000-0x1d9fff:S, 0x1da000-0x1dafff:S, 0x1db000-0x1dbfff:S, 0x1dc000-0x1dcfff:S, 0x1dd000-0x1ddfff:S, 0x1de000-0x1defff:S, 0x1df000-0x1dffff:S, 0x1e0000-0x1e0fff:S, 0x1e1000-0x1e1fff:S, 0x1e2000-0x1e2fff:S, 0x1e3000-0x1e3fff:S, 0x1e4000-0x1e4fff:S, 0x1e5000-0x1e5fff:S, 0x1e6000-0x1e6fff:S, 0x1e7000-0x1e7fff:S, 0x1e8000-0x1e8fff:S, 0x1e9000-0x1e9fff:S, 0x1ea000-0x1eafff:S, 0x1eb000-0x1ebfff:S, 0x1ec000-0x1ecfff:S, 0x1ed000-0x1edfff:S, 0x1ee000-0x1eefff:S, 0x1ef000-0x1effff:S, 0x1f0000-0x1f0fff:S, 0x1f1000-0x1f1fff:S, 0x1f2000-0x1f2fff:S, 0x1f3000-0x1f3fff:S, 0x1f4000-0x1f4fff:S, 0x1f5000-0x1f5fff:S, 0x1f6000-0x1f6fff:S, 0x1f7000-0x1f7fff:S, 0x1f8000-0x1f8fff:S, 0x1f9000-0x1f9fff:S, 0x1fa000-0x1fafff:S, 0x1fb000-0x1fbfff:S, 0x1fc000-0x1fcfff:S, 0x1fd000-0x1fdfff:S, 0x1fe000-0x1fefff:S, 0x1ff000-0x1fffff:S, 0x200000-0x200fff:S, 0x201000-0x201fff:S, 0x202000-0x202fff:S, 0x203000-0x203fff:S, 0x204000-0x204fff:S, 0x205000-0x205fff:S, 0x206000-0x206fff:S, 0x207000-0x207fff:S, 0x208000-0x208fff:S, 0x209000-0x209fff:S, 0x20a000-0x20afff:S, 0x20b000-0x20bfff:S, 0x20c000-0x20cfff:S, 0x20d000-0x20dfff:S, 0x20e000-0x20efff:S, 0x20f000-0x20ffff:S, 0x210000-0x210fff:S, 0x211000-0x211fff:S, 0x212000-0x212fff:S, 0x213000-0x213fff:S, 0x214000-0x214fff:S, 0x215000-0x215fff:S, 0x216000-0x216fff:S, 0x217000-0x217fff:S, 0x218000-0x218fff:S, 0x219000-0x219fff:S, 0x21a000-0x21afff:S, 0x21b000-0x21bfff:S, 0x21c000-0x21cfff:S, 0x21d000-0x21dfff:S, 0x21e000-0x21efff:S, 0x21f000-0x21ffff:S, 0x220000-0x220fff:S, 0x221000-0x221fff:S, 0x222000-0x222fff:S, 0x223000-0x223fff:S, 0x224000-0x224fff:S, 0x225000-0x225fff:S, 0x226000-0x226fff:S, 0x227000-0x227fff:S, 0x228000-0x228fff:S, 0x229000-0x229fff:S, 0x22a000-0x22afff:S, 0x22b000-0x22bfff:S, 0x22c000-0x22cfff:S, 0x22d000-0x22dfff:S, 0x22e000-0x22efff:S, 0x22f000-0x22ffff:S, 0x230000-0x230fff:S, 0x231000-0x231fff:S, 0x232000-0x232fff:S, 0x233000-0x233fff:S, 0x234000-0x234fff:S, 0x235000-0x235fff:S, 0x236000-0x236fff:S, 0x237000-0x237fff:S, 0x238000-0x238fff:S, 0x239000-0x239fff:S, 0x23a000-0x23afff:S, 0x23b000-0x23bfff:S, 0x23c000-0x23cfff:S, 0x23d000-0x23dfff:S, 0x23e000-0x23efff:S, 0x23f000-0x23ffff:S, 0x240000-0x240fff:S, 0x241000-0x241fff:S, 0x242000-0x242fff:S, 0x243000-0x243fff:S, 0x244000-0x244fff:S, 0x245000-0x245fff:S, 0x246000-0x246fff:S, 0x247000-0x247fff:S, 0x248000-0x248fff:S, 0x249000-0x249fff:S, 0x24a000-0x24afff:S, 0x24b000-0x24bfff:S, 0x24c000-0x24cfff:S, 0x24d000-0x24dfff:S, 0x24e000-0x24efff:S, 0x24f000-0x24ffff:S, 0x250000-0x250fff:S, 0x251000-0x251fff:S, 0x252000-0x252fff:S, 0x253000-0x253fff:S, 0x254000-0x254fff:S, 0x255000-0x255fff:S, 0x256000-0x256fff:S, 0x257000-0x257fff:S, 0x258000-0x258fff:S, 0x259000-0x259fff:S, 0x25a000-0x25afff:S, 0x25b000-0x25bfff:S, 0x25c000-0x25cfff:S, 0x25d000-0x25dfff:S, 0x25e000-0x25efff:S, 0x25f000-0x25ffff:S, 0x260000-0x260fff:S, 0x261000-0x261fff:S, 0x262000-0x262fff:S, 0x263000-0x263fff:S, 0x264000-0x264fff:S, 0x265000-0x265fff:S, 0x266000-0x266fff:S, 0x267000-0x267fff:S, 0x268000-0x268fff:S, 0x269000-0x269fff:S, 0x26a000-0x26afff:S, 0x26b000-0x26bfff:S, 0x26c000-0x26cfff:S, 0x26d000-0x26dfff:S, 0x26e000-0x26efff:S, 0x26f000-0x26ffff:S, 0x270000-0x270fff:S, 0x271000-0x271fff:S, 0x272000-0x272fff:S, 0x273000-0x273fff:S, 0x274000-0x274fff:S, 0x275000-0x275fff:S, 0x276000-0x276fff:S, 0x277000-0x277fff:S, 0x278000-0x278fff:S, 0x279000-0x279fff:S, 0x27a000-0x27afff:S, 0x27b000-0x27bfff:S, 0x27c000-0x27cfff:S, 0x27d000-0x27dfff:S, 0x27e000-0x27efff:S, 0x27f000-0x27ffff:S, 0x280000-0x280fff:S, 0x281000-0x281fff:S, 0x282000-0x282fff:S, 0x283000-0x283fff:S, 0x284000-0x284fff:S, 0x285000-0x285fff:S, 0x286000-0x286fff:S, 0x287000-0x287fff:S, 0x288000-0x288fff:S, 0x289000-0x289fff:S, 0x28a000-0x28afff:S, 0x28b000-0x28bfff:S, 0x28c000-0x28cfff:S, 0x28d000-0x28dfff:S, 0x28e000-0x28efff:S, 0x28f000-0x28ffff:S, 0x290000-0x290fff:S, 0x291000-0x291fff:S, 0x292000-0x292fff:S, 0x293000-0x293fff:S, 0x294000-0x294fff:S, 0x295000-0x295fff:S, 0x296000-0x296fff:S, 0x297000-0x297fff:S, 0x298000-0x298fff:S, 0x299000-0x299fff:S, 0x29a000-0x29afff:S, 0x29b000-0x29bfff:S, 0x29c000-0x29cfff:S, 0x29d000-0x29dfff:S, 0x29e000-0x29efff:S, 0x29f000-0x29ffff:S, 0x2a0000-0x2a0fff:S, 0x2a1000-0x2a1fff:S, 0x2a2000-0x2a2fff:S, 0x2a3000-0x2a3fff:S, 0x2a4000-0x2a4fff:S, 0x2a5000-0x2a5fff:S, 0x2a6000-0x2a6fff:S, 0x2a7000-0x2a7fff:S, 0x2a8000-0x2a8fff:S, 0x2a9000-0x2a9fff:S, 0x2aa000-0x2aafff:S, 0x2ab000-0x2abfff:S, 0x2ac000-0x2acfff:S, 0x2ad000-0x2adfff:S, 0x2ae000-0x2aefff:S, 0x2af000-0x2affff:S, 0x2b0000-0x2b0fff:S, 0x2b1000-0x2b1fff:S, 0x2b2000-0x2b2fff:S, 0x2b3000-0x2b3fff:S, 0x2b4000-0x2b4fff:S, 0x2b5000-0x2b5fff:S, 0x2b6000-0x2b6fff:S, 0x2b7000-0x2b7fff:S, 0x2b8000-0x2b8fff:S, 0x2b9000-0x2b9fff:S, 0x2ba000-0x2bafff:S, 0x2bb000-0x2bbfff:S, 0x2bc000-0x2bcfff:S, 0x2bd000-0x2bdfff:S, 0x2be000-0x2befff:S, 0x2bf000-0x2bffff:S, 0x2c0000-0x2c0fff:S, 0x2c1000-0x2c1fff:S, 0x2c2000-0x2c2fff:S, 0x2c3000-0x2c3fff:S, 0x2c4000-0x2c4fff:S, 0x2c5000-0x2c5fff:S, 0x2c6000-0x2c6fff:S, 0x2c7000-0x2c7fff:S, 0x2c8000-0x2c8fff:S, 0x2c9000-0x2c9fff:S, 0x2ca000-0x2cafff:S, 0x2cb000-0x2cbfff:S, 0x2cc000-0x2ccfff:S, 0x2cd000-0x2cdfff:S, 0x2ce000-0x2cefff:S, 0x2cf000-0x2cffff:S, 0x2d0000-0x2d0fff:S, 0x2d1000-0x2d1fff:S, 0x2d2000-0x2d2fff:S, 0x2d3000-0x2d3fff:S, 0x2d4000-0x2d4fff:S, 0x2d5000-0x2d5fff:S, 0x2d6000-0x2d6fff:S, 0x2d7000-0x2d7fff:S, 0x2d8000-0x2d8fff:S, 0x2d9000-0x2d9fff:S, 0x2da000-0x2dafff:S, 0x2db000-0x2dbfff:S, 0x2dc000-0x2dcfff:S, 0x2dd000-0x2ddfff:S, 0x2de000-0x2defff:S, 0x2df000-0x2dffff:S, 0x2e0000-0x2e0fff:S, 0x2e1000-0x2e1fff:S, 0x2e2000-0x2e2fff:S, 0x2e3000-0x2e3fff:S, 0x2e4000-0x2e4fff:S, 0x2e5000-0x2e5fff:S, 0x2e6000-0x2e6fff:S, 0x2e7000-0x2e7fff:S, 0x2e8000-0x2e8fff:S, 0x2e9000-0x2e9fff:S, 0x2ea000-0x2eafff:S, 0x2eb000-0x2ebfff:S, 0x2ec000-0x2ecfff:S, 0x2ed000-0x2edfff:S, 0x2ee000-0x2eefff:S, 0x2ef000-0x2effff:S, 0x2f0000-0x2f0fff:S, 0x2f1000-0x2f1fff:S, 0x2f2000-0x2f2fff:S, 0x2f3000-0x2f3fff:S, 0x2f4000-0x2f4fff:S, 0x2f5000-0x2f5fff:S, 0x2f6000-0x2f6fff:S, 0x2f7000-0x2f7fff:S, 0x2f8000-0x2f8fff:S, 0x2f9000-0x2f9fff:S, 0x2fa000-0x2fafff:S, 0x2fb000-0x2fbfff:S, 0x2fc000-0x2fcfff:S, 0x2fd000-0x2fdfff:S, 0x2fe000-0x2fefff:S, 0x2ff000-0x2fffff:S, 0x300000-0x300fff:S, 0x301000-0x301fff:S, 0x302000-0x302fff:S, 0x303000-0x303fff:S, 0x304000-0x304fff:S, 0x305000-0x305fff:S, 0x306000-0x306fff:S, 0x307000-0x307fff:S, 0x308000-0x308fff:S, 0x309000-0x309fff:S, 0x30a000-0x30afff:S, 0x30b000-0x30bfff:S, 0x30c000-0x30cfff:S, 0x30d000-0x30dfff:S, 0x30e000-0x30efff:S, 0x30f000-0x30ffff:S, 0x310000-0x310fff:S, 0x311000-0x311fff:S, 0x312000-0x312fff:S, 0x313000-0x313fff:S, 0x314000-0x314fff:S, 0x315000-0x315fff:S, 0x316000-0x316fff:S, 0x317000-0x317fff:S, 0x318000-0x318fff:S, 0x319000-0x319fff:S, 0x31a000-0x31afff:S, 0x31b000-0x31bfff:S, 0x31c000-0x31cfff:S, 0x31d000-0x31dfff:S, 0x31e000-0x31efff:S, 0x31f000-0x31ffff:S, 0x320000-0x320fff:S, 0x321000-0x321fff:S, 0x322000-0x322fff:S, 0x323000-0x323fff:S, 0x324000-0x324fff:S, 0x325000-0x325fff:S, 0x326000-0x326fff:S, 0x327000-0x327fff:S, 0x328000-0x328fff:S, 0x329000-0x329fff:S, 0x32a000-0x32afff:S, 0x32b000-0x32bfff:S, 0x32c000-0x32cfff:S, 0x32d000-0x32dfff:S, 0x32e000-0x32efff:S, 0x32f000-0x32ffff:S, 0x330000-0x330fff:S, 0x331000-0x331fff:S, 0x332000-0x332fff:S, 0x333000-0x333fff:S, 0x334000-0x334fff:S, 0x335000-0x335fff:S, 0x336000-0x336fff:S, 0x337000-0x337fff:S, 0x338000-0x338fff:S, 0x339000-0x339fff:S, 0x33a000-0x33afff:S, 0x33b000-0x33bfff:S, 0x33c000-0x33cfff:S, 0x33d000-0x33dfff:S, 0x33e000-0x33efff:S, 0x33f000-0x33ffff:S, 0x340000-0x340fff:S, 0x341000-0x341fff:S, 0x342000-0x342fff:S, 0x343000-0x343fff:S, 0x344000-0x344fff:S, 0x345000-0x345fff:S, 0x346000-0x346fff:S, 0x347000-0x347fff:S, 0x348000-0x348fff:S, 0x349000-0x349fff:S, 0x34a000-0x34afff:S, 0x34b000-0x34bfff:S, 0x34c000-0x34cfff:S, 0x34d000-0x34dfff:S, 0x34e000-0x34efff:S, 0x34f000-0x34ffff:S, 0x350000-0x350fff:S, 0x351000-0x351fff:S, 0x352000-0x352fff:S, 0x353000-0x353fff:S, 0x354000-0x354fff:S, 0x355000-0x355fff:S, 0x356000-0x356fff:S, 0x357000-0x357fff:S, 0x358000-0x358fff:S, 0x359000-0x359fff:S, 0x35a000-0x35afff:S, 0x35b000-0x35bfff:S, 0x35c000-0x35cfff:S, 0x35d000-0x35dfff:S, 0x35e000-0x35efff:S, 0x35f000-0x35ffff:S, 0x360000-0x360fff:S, 0x361000-0x361fff:S, 0x362000-0x362fff:S, 0x363000-0x363fff:S, 0x364000-0x364fff:S, 0x365000-0x365fff:S, 0x366000-0x366fff:S, 0x367000-0x367fff:S, 0x368000-0x368fff:S, 0x369000-0x369fff:S, 0x36a000-0x36afff:S, 0x36b000-0x36bfff:S, 0x36c000-0x36cfff:S, 0x36d000-0x36dfff:S, 0x36e000-0x36efff:S, 0x36f000-0x36ffff:S, 0x370000-0x370fff:S, 0x371000-0x371fff:S, 0x372000-0x372fff:S, 0x373000-0x373fff:S, 0x374000-0x374fff:S, 0x375000-0x375fff:S, 0x376000-0x376fff:S, 0x377000-0x377fff:S, 0x378000-0x378fff:S, 0x379000-0x379fff:S, 0x37a000-0x37afff:S, 0x37b000-0x37bfff:S, 0x37c000-0x37cfff:S, 0x37d000-0x37dfff:S, 0x37e000-0x37efff:S, 0x37f000-0x37ffff:S, 0x380000-0x380fff:S, 0x381000-0x381fff:S, 0x382000-0x382fff:S, 0x383000-0x383fff:S, 0x384000-0x384fff:S, 0x385000-0x385fff:S, 0x386000-0x386fff:S, 0x387000-0x387fff:S, 0x388000-0x388fff:S, 0x389000-0x389fff:S, 0x38a000-0x38afff:S, 0x38b000-0x38bfff:S, 0x38c000-0x38cfff:S, 0x38d000-0x38dfff:S, 0x38e000-0x38efff:S, 0x38f000-0x38ffff:S, 0x390000-0x390fff:S, 0x391000-0x391fff:S, 0x392000-0x392fff:S, 0x393000-0x393fff:S, 0x394000-0x394fff:S, 0x395000-0x395fff:S, 0x396000-0x396fff:S, 0x397000-0x397fff:S, 0x398000-0x398fff:S, 0x399000-0x399fff:S, 0x39a000-0x39afff:S, 0x39b000-0x39bfff:S, 0x39c000-0x39cfff:S, 0x39d000-0x39dfff:S, 0x39e000-0x39efff:S, 0x39f000-0x39ffff:S, 0x3a0000-0x3a0fff:S, 0x3a1000-0x3a1fff:S, 0x3a2000-0x3a2fff:S, 0x3a3000-0x3a3fff:S, 0x3a4000-0x3a4fff:S, 0x3a5000-0x3a5fff:S, 0x3a6000-0x3a6fff:S, 0x3a7000-0x3a7fff:S, 0x3a8000-0x3a8fff:S, 0x3a9000-0x3a9fff:S, 0x3aa000-0x3aafff:S, 0x3ab000-0x3abfff:S, 0x3ac000-0x3acfff:S, 0x3ad000-0x3adfff:S, 0x3ae000-0x3aefff:S, 0x3af000-0x3affff:S, 0x3b0000-0x3b0fff:S, 0x3b1000-0x3b1fff:S, 0x3b2000-0x3b2fff:S, 0x3b3000-0x3b3fff:S, 0x3b4000-0x3b4fff:S, 0x3b5000-0x3b5fff:S, 0x3b6000-0x3b6fff:S, 0x3b7000-0x3b7fff:S, 0x3b8000-0x3b8fff:S, 0x3b9000-0x3b9fff:S, 0x3ba000-0x3bafff:S, 0x3bb000-0x3bbfff:S, 0x3bc000-0x3bcfff:S, 0x3bd000-0x3bdfff:S, 0x3be000-0x3befff:S, 0x3bf000-0x3bffff:S, 0x3c0000-0x3c0fff:S, 0x3c1000-0x3c1fff:S, 0x3c2000-0x3c2fff:S, 0x3c3000-0x3c3fff:S, 0x3c4000-0x3c4fff:S, 0x3c5000-0x3c5fff:S, 0x3c6000-0x3c6fff:S, 0x3c7000-0x3c7fff:S, 0x3c8000-0x3c8fff:S, 0x3c9000-0x3c9fff:S, 0x3ca000-0x3cafff:S, 0x3cb000-0x3cbfff:S, 0x3cc000-0x3ccfff:S, 0x3cd000-0x3cdfff:S, 0x3ce000-0x3cefff:S, 0x3cf000-0x3cffff:S, 0x3d0000-0x3d0fff:S, 0x3d1000-0x3d1fff:S, 0x3d2000-0x3d2fff:S, 0x3d3000-0x3d3fff:S, 0x3d4000-0x3d4fff:S, 0x3d5000-0x3d5fff:S, 0x3d6000-0x3d6fff:S, 0x3d7000-0x3d7fff:S, 0x3d8000-0x3d8fff:S, 0x3d9000-0x3d9fff:S, 0x3da000-0x3dafff:S, 0x3db000-0x3dbfff:S, 0x3dc000-0x3dcfff:S, 0x3dd000-0x3ddfff:S, 0x3de000-0x3defff:S, 0x3df000-0x3dffff:S, 0x3e0000-0x3e0fff:S, 0x3e1000-0x3e1fff:S, 0x3e2000-0x3e2fff:S, 0x3e3000-0x3e3fff:S, 0x3e4000-0x3e4fff:S, 0x3e5000-0x3e5fff:S, 0x3e6000-0x3e6fff:S, 0x3e7000-0x3e7fff:S, 0x3e8000-0x3e8fff:S, 0x3e9000-0x3e9fff:S, 0x3ea000-0x3eafff:S, 0x3eb000-0x3ebfff:S, 0x3ec000-0x3ecfff:S, 0x3ed000-0x3edfff:S, 0x3ee000-0x3eefff:S, 0x3ef000-0x3effff:S, 0x3f0000-0x3f0fff:S, 0x3f1000-0x3f1fff:S, 0x3f2000-0x3f2fff:S, 0x3f3000-0x3f3fff:S, 0x3f4000-0x3f4fff:S, 0x3f5000-0x3f5fff:S, 0x3f6000-0x3f6fff:S, 0x3f7000-0x3f7fff:S, 0x3f8000-0x3f8fff:S, 0x3f9000-0x3f9fff:S, 0x3fa000-0x3fafff:S, 0x3fb000-0x3fbfff:S, 0x3fc000-0x3fcfff:S, 0x3fd000-0x3fdfff:S, 0x3fe000-0x3fefff:S, 0x3ff000-0x3fffff:S, 0x400000-0x400fff:S, 0x401000-0x401fff:S, 0x402000-0x402fff:S, 0x403000-0x403fff:S, 0x404000-0x404fff:S, 0x405000-0x405fff:S, 0x406000-0x406fff:S, 0x407000-0x407fff:S, 0x408000-0x408fff:S, 0x409000-0x409fff:S, 0x40a000-0x40afff:S, 0x40b000-0x40bfff:S, 0x40c000-0x40cfff:S, 0x40d000-0x40dfff:S, 0x40e000-0x40efff:S, 0x40f000-0x40ffff:S, 0x410000-0x410fff:S, 0x411000-0x411fff:S, 0x412000-0x412fff:S, 0x413000-0x413fff:S, 0x414000-0x414fff:S, 0x415000-0x415fff:S, 0x416000-0x416fff:S, 0x417000-0x417fff:S, 0x418000-0x418fff:S, 0x419000-0x419fff:S, 0x41a000-0x41afff:S, 0x41b000-0x41bfff:S, 0x41c000-0x41cfff:S, 0x41d000-0x41dfff:S, 0x41e000-0x41efff:S, 0x41f000-0x41ffff:S, 0x420000-0x420fff:S, 0x421000-0x421fff:S, 0x422000-0x422fff:S, 0x423000-0x423fff:S, 0x424000-0x424fff:S, 0x425000-0x425fff:S, 0x426000-0x426fff:S, 0x427000-0x427fff:S, 0x428000-0x428fff:S, 0x429000-0x429fff:S, 0x42a000-0x42afff:S, 0x42b000-0x42bfff:S, 0x42c000-0x42cfff:S, 0x42d000-0x42dfff:S, 0x42e000-0x42efff:S, 0x42f000-0x42ffff:S, 0x430000-0x430fff:S, 0x431000-0x431fff:S, 0x432000-0x432fff:S, 0x433000-0x433fff:S, 0x434000-0x434fff:S, 0x435000-0x435fff:S, 0x436000-0x436fff:S, 0x437000-0x437fff:S, 0x438000-0x438fff:S, 0x439000-0x439fff:S, 0x43a000-0x43afff:S, 0x43b000-0x43bfff:S, 0x43c000-0x43cfff:S, 0x43d000-0x43dfff:S, 0x43e000-0x43efff:S, 0x43f000-0x43ffff:S, 0x440000-0x440fff:S, 0x441000-0x441fff:S, 0x442000-0x442fff:S, 0x443000-0x443fff:S, 0x444000-0x444fff:S, 0x445000-0x445fff:S, 0x446000-0x446fff:S, 0x447000-0x447fff:S, 0x448000-0x448fff:S, 0x449000-0x449fff:S, 0x44a000-0x44afff:S, 0x44b000-0x44bfff:S, 0x44c000-0x44cfff:S, 0x44d000-0x44dfff:S, 0x44e000-0x44efff:S, 0x44f000-0x44ffff:S, 0x450000-0x450fff:S, 0x451000-0x451fff:S, 0x452000-0x452fff:S, 0x453000-0x453fff:S, 0x454000-0x454fff:S, 0x455000-0x455fff:S, 0x456000-0x456fff:S, 0x457000-0x457fff:S, 0x458000-0x458fff:S, 0x459000-0x459fff:S, 0x45a000-0x45afff:S, 0x45b000-0x45bfff:S, 0x45c000-0x45cfff:S, 0x45d000-0x45dfff:S, 0x45e000-0x45efff:S, 0x45f000-0x45ffff:S, 0x460000-0x460fff:S, 0x461000-0x461fff:S, 0x462000-0x462fff:S, 0x463000-0x463fff:S, 0x464000-0x464fff:S, 0x465000-0x465fff:S, 0x466000-0x466fff:S, 0x467000-0x467fff:S, 0x468000-0x468fff:S, 0x469000-0x469fff:S, 0x46a000-0x46afff:S, 0x46b000-0x46bfff:S, 0x46c000-0x46cfff:S, 0x46d000-0x46dfff:S, 0x46e000-0x46efff:S, 0x46f000-0x46ffff:S, 0x470000-0x470fff:S, 0x471000-0x471fff:S, 0x472000-0x472fff:S, 0x473000-0x473fff:S, 0x474000-0x474fff:S, 0x475000-0x475fff:S, 0x476000-0x476fff:S, 0x477000-0x477fff:S, 0x478000-0x478fff:S, 0x479000-0x479fff:S, 0x47a000-0x47afff:S, 0x47b000-0x47bfff:S, 0x47c000-0x47cfff:S, 0x47d000-0x47dfff:S, 0x47e000-0x47efff:S, 0x47f000-0x47ffff:S, 0x480000-0x480fff:S, 0x481000-0x481fff:S, 0x482000-0x482fff:S, 0x483000-0x483fff:S, 0x484000-0x484fff:S, 0x485000-0x485fff:S, 0x486000-0x486fff:S, 0x487000-0x487fff:S, 0x488000-0x488fff:S, 0x489000-0x489fff:S, 0x48a000-0x48afff:S, 0x48b000-0x48bfff:S, 0x48c000-0x48cfff:S, 0x48d000-0x48dfff:S, 0x48e000-0x48efff:S, 0x48f000-0x48ffff:S, 0x490000-0x490fff:S, 0x491000-0x491fff:S, 0x492000-0x492fff:S, 0x493000-0x493fff:S, 0x494000-0x494fff:S, 0x495000-0x495fff:S, 0x496000-0x496fff:S, 0x497000-0x497fff:S, 0x498000-0x498fff:S, 0x499000-0x499fff:S, 0x49a000-0x49afff:S, 0x49b000-0x49bfff:S, 0x49c000-0x49cfff:S, 0x49d000-0x49dfff:S, 0x49e000-0x49efff:S, 0x49f000-0x49ffff:S, 0x4a0000-0x4a0fff:S, 0x4a1000-0x4a1fff:S, 0x4a2000-0x4a2fff:S, 0x4a3000-0x4a3fff:S, 0x4a4000-0x4a4fff:S, 0x4a5000-0x4a5fff:S, 0x4a6000-0x4a6fff:S, 0x4a7000-0x4a7fff:S, 0x4a8000-0x4a8fff:S, 0x4a9000-0x4a9fff:S, 0x4aa000-0x4aafff:S, 0x4ab000-0x4abfff:S, 0x4ac000-0x4acfff:S, 0x4ad000-0x4adfff:S, 0x4ae000-0x4aefff:S, 0x4af000-0x4affff:S, 0x4b0000-0x4b0fff:S, 0x4b1000-0x4b1fff:S, 0x4b2000-0x4b2fff:S, 0x4b3000-0x4b3fff:S, 0x4b4000-0x4b4fff:S, 0x4b5000-0x4b5fff:S, 0x4b6000-0x4b6fff:S, 0x4b7000-0x4b7fff:S, 0x4b8000-0x4b8fff:S, 0x4b9000-0x4b9fff:S, 0x4ba000-0x4bafff:S, 0x4bb000-0x4bbfff:S, 0x4bc000-0x4bcfff:S, 0x4bd000-0x4bdfff:S, 0x4be000-0x4befff:S, 0x4bf000-0x4bffff:S, 0x4c0000-0x4c0fff:S, 0x4c1000-0x4c1fff:S, 0x4c2000-0x4c2fff:S, 0x4c3000-0x4c3fff:S, 0x4c4000-0x4c4fff:S, 0x4c5000-0x4c5fff:S, 0x4c6000-0x4c6fff:S, 0x4c7000-0x4c7fff:S, 0x4c8000-0x4c8fff:S, 0x4c9000-0x4c9fff:S, 0x4ca000-0x4cafff:S, 0x4cb000-0x4cbfff:S, 0x4cc000-0x4ccfff:S, 0x4cd000-0x4cdfff:S, 0x4ce000-0x4cefff:S, 0x4cf000-0x4cffff:S, 0x4d0000-0x4d0fff:S, 0x4d1000-0x4d1fff:S, 0x4d2000-0x4d2fff:S, 0x4d3000-0x4d3fff:S, 0x4d4000-0x4d4fff:S, 0x4d5000-0x4d5fff:S, 0x4d6000-0x4d6fff:S, 0x4d7000-0x4d7fff:S, 0x4d8000-0x4d8fff:S, 0x4d9000-0x4d9fff:S, 0x4da000-0x4dafff:S, 0x4db000-0x4dbfff:S, 0x4dc000-0x4dcfff:S, 0x4dd000-0x4ddfff:S, 0x4de000-0x4defff:S, 0x4df000-0x4dffff:S, 0x4e0000-0x4e0fff:S, 0x4e1000-0x4e1fff:S, 0x4e2000-0x4e2fff:S, 0x4e3000-0x4e3fff:S, 0x4e4000-0x4e4fff:S, 0x4e5000-0x4e5fff:S, 0x4e6000-0x4e6fff:S, 0x4e7000-0x4e7fff:S, 0x4e8000-0x4e8fff:S, 0x4e9000-0x4e9fff:S, 0x4ea000-0x4eafff:S, 0x4eb000-0x4ebfff:S, 0x4ec000-0x4ecfff:S, 0x4ed000-0x4edfff:S, 0x4ee000-0x4eefff:S, 0x4ef000-0x4effff:S, 0x4f0000-0x4f0fff:S, 0x4f1000-0x4f1fff:S, 0x4f2000-0x4f2fff:S, 0x4f3000-0x4f3fff:S, 0x4f4000-0x4f4fff:S, 0x4f5000-0x4f5fff:S, 0x4f6000-0x4f6fff:S, 0x4f7000-0x4f7fff:S, 0x4f8000-0x4f8fff:S, 0x4f9000-0x4f9fff:S, 0x4fa000-0x4fafff:S, 0x4fb000-0x4fbfff:S, 0x4fc000-0x4fcfff:S, 0x4fd000-0x4fdfff:S, 0x4fe000-0x4fefff:S, 0x4ff000-0x4fffff:S, 0x500000-0x500fff:S, 0x501000-0x501fff:S, 0x502000-0x502fff:S, 0x503000-0x503fff:S, 0x504000-0x504fff:S, 0x505000-0x505fff:S, 0x506000-0x506fff:S, 0x507000-0x507fff:S, 0x508000-0x508fff:S, 0x509000-0x509fff:S, 0x50a000-0x50afff:S, 0x50b000-0x50bfff:S, 0x50c000-0x50cfff:S, 0x50d000-0x50dfff:S, 0x50e000-0x50efff:S, 0x50f000-0x50ffff:S, 0x510000-0x510fff:S, 0x511000-0x511fff:S, 0x512000-0x512fff:S, 0x513000-0x513fff:S, 0x514000-0x514fff:S, 0x515000-0x515fff:S, 0x516000-0x516fff:S, 0x517000-0x517fff:S, 0x518000-0x518fff:S, 0x519000-0x519fff:S, 0x51a000-0x51afff:S, 0x51b000-0x51bfff:S, 0x51c000-0x51cfff:S, 0x51d000-0x51dfff:S, 0x51e000-0x51efff:S, 0x51f000-0x51ffff:S, 0x520000-0x520fff:S, 0x521000-0x521fff:S, 0x522000-0x522fff:S, 0x523000-0x523fff:S, 0x524000-0x524fff:S, 0x525000-0x525fff:S, 0x526000-0x526fff:S, 0x527000-0x527fff:S, 0x528000-0x528fff:S, 0x529000-0x529fff:S, 0x52a000-0x52afff:S, 0x52b000-0x52bfff:S, 0x52c000-0x52cfff:S, 0x52d000-0x52dfff:S, 0x52e000-0x52efff:S, 0x52f000-0x52ffff:S, 0x530000-0x530fff:S, 0x531000-0x531fff:S, 0x532000-0x532fff:S, 0x533000-0x533fff:S, 0x534000-0x534fff:S, 0x535000-0x535fff:S, 0x536000-0x536fff:S, 0x537000-0x537fff:S, 0x538000-0x538fff:S, 0x539000-0x539fff:S, 0x53a000-0x53afff:S, 0x53b000-0x53bfff:S, 0x53c000-0x53cfff:S, 0x53d000-0x53dfff:S, 0x53e000-0x53efff:S, 0x53f000-0x53ffff:S, 0x540000-0x540fff:S, 0x541000-0x541fff:S, 0x542000-0x542fff:S, 0x543000-0x543fff:S, 0x544000-0x544fff:S, 0x545000-0x545fff:S, 0x546000-0x546fff:S, 0x547000-0x547fff:S, 0x548000-0x548fff:S, 0x549000-0x549fff:S, 0x54a000-0x54afff:S, 0x54b000-0x54bfff:S, 0x54c000-0x54cfff:S, 0x54d000-0x54dfff:S, 0x54e000-0x54efff:S, 0x54f000-0x54ffff:S, 0x550000-0x550fff:S, 0x551000-0x551fff:S, 0x552000-0x552fff:S, 0x553000-0x553fff:S, 0x554000-0x554fff:S, 0x555000-0x555fff:S, 0x556000-0x556fff:S, 0x557000-0x557fff:S, 0x558000-0x558fff:S, 0x559000-0x559fff:S, 0x55a000-0x55afff:S, 0x55b000-0x55bfff:S, 0x55c000-0x55cfff:S, 0x55d000-0x55dfff:S, 0x55e000-0x55efff:S, 0x55f000-0x55ffff:S, 0x560000-0x560fff:S, 0x561000-0x561fff:S, 0x562000-0x562fff:S, 0x563000-0x563fff:S, 0x564000-0x564fff:S, 0x565000-0x565fff:S, 0x566000-0x566fff:S, 0x567000-0x567fff:S, 0x568000-0x568fff:S, 0x569000-0x569fff:S, 0x56a000-0x56afff:S, 0x56b000-0x56bfff:S, 0x56c000-0x56cfff:S, 0x56d000-0x56dfff:S, 0x56e000-0x56efff:S, 0x56f000-0x56ffff:S, 0x570000-0x570fff:S, 0x571000-0x571fff:S, 0x572000-0x572fff:S, 0x573000-0x573fff:S, 0x574000-0x574fff:S, 0x575000-0x575fff:S, 0x576000-0x576fff:S, 0x577000-0x577fff:S, 0x578000-0x578fff:S, 0x579000-0x579fff:S, 0x57a000-0x57afff:S, 0x57b000-0x57bfff:S, 0x57c000-0x57cfff:S, 0x57d000-0x57dfff:S, 0x57e000-0x57efff:S, 0x57f000-0x57ffff:S, 0x580000-0x580fff:S, 0x581000-0x581fff:S, 0x582000-0x582fff:S, 0x583000-0x583fff:S, 0x584000-0x584fff:S, 0x585000-0x585fff:S, 0x586000-0x586fff:S, 0x587000-0x587fff:S, 0x588000-0x588fff:S, 0x589000-0x589fff:S, 0x58a000-0x58afff:S, 0x58b000-0x58bfff:S, 0x58c000-0x58cfff:S, 0x58d000-0x58dfff:S, 0x58e000-0x58efff:S, 0x58f000-0x58ffff:S, 0x590000-0x590fff:S, 0x591000-0x591fff:S, 0x592000-0x592fff:S, 0x593000-0x593fff:S, 0x594000-0x594fff:S, 0x595000-0x595fff:S, 0x596000-0x596fff:S, 0x597000-0x597fff:S, 0x598000-0x598fff:S, 0x599000-0x599fff:S, 0x59a000-0x59afff:S, 0x59b000-0x59bfff:S, 0x59c000-0x59cfff:S, 0x59d000-0x59dfff:S, 0x59e000-0x59efff:S, 0x59f000-0x59ffff:S, 0x5a0000-0x5a0fff:S, 0x5a1000-0x5a1fff:S, 0x5a2000-0x5a2fff:S, 0x5a3000-0x5a3fff:S, 0x5a4000-0x5a4fff:S, 0x5a5000-0x5a5fff:S, 0x5a6000-0x5a6fff:S, 0x5a7000-0x5a7fff:S, 0x5a8000-0x5a8fff:S, 0x5a9000-0x5a9fff:S, 0x5aa000-0x5aafff:S, 0x5ab000-0x5abfff:S, 0x5ac000-0x5acfff:S, 0x5ad000-0x5adfff:S, 0x5ae000-0x5aefff:S, 0x5af000-0x5affff:S, 0x5b0000-0x5b0fff:S, 0x5b1000-0x5b1fff:S, 0x5b2000-0x5b2fff:S, 0x5b3000-0x5b3fff:S, 0x5b4000-0x5b4fff:S, 0x5b5000-0x5b5fff:S, 0x5b6000-0x5b6fff:S, 0x5b7000-0x5b7fff:S, 0x5b8000-0x5b8fff:S, 0x5b9000-0x5b9fff:S, 0x5ba000-0x5bafff:S, 0x5bb000-0x5bbfff:S, 0x5bc000-0x5bcfff:S, 0x5bd000-0x5bdfff:S, 0x5be000-0x5befff:S, 0x5bf000-0x5bffff:S, 0x5c0000-0x5c0fff:S, 0x5c1000-0x5c1fff:S, 0x5c2000-0x5c2fff:S, 0x5c3000-0x5c3fff:S, 0x5c4000-0x5c4fff:S, 0x5c5000-0x5c5fff:S, 0x5c6000-0x5c6fff:S, 0x5c7000-0x5c7fff:S, 0x5c8000-0x5c8fff:S, 0x5c9000-0x5c9fff:S, 0x5ca000-0x5cafff:S, 0x5cb000-0x5cbfff:S, 0x5cc000-0x5ccfff:S, 0x5cd000-0x5cdfff:S, 0x5ce000-0x5cefff:S, 0x5cf000-0x5cffff:S, 0x5d0000-0x5d0fff:S, 0x5d1000-0x5d1fff:S, 0x5d2000-0x5d2fff:S, 0x5d3000-0x5d3fff:S, 0x5d4000-0x5d4fff:S, 0x5d5000-0x5d5fff:S, 0x5d6000-0x5d6fff:S, 0x5d7000-0x5d7fff:S, 0x5d8000-0x5d8fff:S, 0x5d9000-0x5d9fff:S, 0x5da000-0x5dafff:S, 0x5db000-0x5dbfff:S, 0x5dc000-0x5dcfff:S, 0x5dd000-0x5ddfff:S, 0x5de000-0x5defff:S, 0x5df000-0x5dffff:S, 0x5e0000-0x5e0fff:S, 0x5e1000-0x5e1fff:S, 0x5e2000-0x5e2fff:S, 0x5e3000-0x5e3fff:S, 0x5e4000-0x5e4fff:S, 0x5e5000-0x5e5fff:S, 0x5e6000-0x5e6fff:S, 0x5e7000-0x5e7fff:S, 0x5e8000-0x5e8fff:S, 0x5e9000-0x5e9fff:S, 0x5ea000-0x5eafff:S, 0x5eb000-0x5ebfff:S, 0x5ec000-0x5ecfff:S, 0x5ed000-0x5edfff:S, 0x5ee000-0x5eefff:S, 0x5ef000-0x5effff:S, 0x5f0000-0x5f0fff:S, 0x5f1000-0x5f1fff:S, 0x5f2000-0x5f2fff:S, 0x5f3000-0x5f3fff:S, 0x5f4000-0x5f4fff:S, 0x5f5000-0x5f5fff:S, 0x5f6000-0x5f6fff:S, 0x5f7000-0x5f7fff:S, 0x5f8000-0x5f8fff:S, 0x5f9000-0x5f9fff:S, 0x5fa000-0x5fafff:S, 0x5fb000-0x5fbfff:S, 0x5fc000-0x5fcfff:S, 0x5fd000-0x5fdfff:S, 0x5fe000-0x5fefff:S, 0x5ff000-0x5fffff:S, 0x600000-0x600fff:S, 0x601000-0x601fff:S, 0x602000-0x602fff:S, 0x603000-0x603fff:S, 0x604000-0x604fff:S, 0x605000-0x605fff:S, 0x606000-0x606fff:S, 0x607000-0x607fff:S, 0x608000-0x608fff:S, 0x609000-0x609fff:S, 0x60a000-0x60afff:S, 0x60b000-0x60bfff:S, 0x60c000-0x60cfff:S, 0x60d000-0x60dfff:S, 0x60e000-0x60efff:S, 0x60f000-0x60ffff:S, 0x610000-0x610fff:S, 0x611000-0x611fff:S, 0x612000-0x612fff:S, 0x613000-0x613fff:S, 0x614000-0x614fff:S, 0x615000-0x615fff:S, 0x616000-0x616fff:S, 0x617000-0x617fff:S, 0x618000-0x618fff:S, 0x619000-0x619fff:S, 0x61a000-0x61afff:S, 0x61b000-0x61bfff:S, 0x61c000-0x61cfff:S, 0x61d000-0x61dfff:S, 0x61e000-0x61efff:S, 0x61f000-0x61ffff:S, 0x620000-0x620fff:S, 0x621000-0x621fff:S, 0x622000-0x622fff:S, 0x623000-0x623fff:S, 0x624000-0x624fff:S, 0x625000-0x625fff:S, 0x626000-0x626fff:S, 0x627000-0x627fff:S, 0x628000-0x628fff:S, 0x629000-0x629fff:S, 0x62a000-0x62afff:S, 0x62b000-0x62bfff:S, 0x62c000-0x62cfff:S, 0x62d000-0x62dfff:S, 0x62e000-0x62efff:S, 0x62f000-0x62ffff:S, 0x630000-0x630fff:S, 0x631000-0x631fff:S, 0x632000-0x632fff:S, 0x633000-0x633fff:S, 0x634000-0x634fff:S, 0x635000-0x635fff:S, 0x636000-0x636fff:S, 0x637000-0x637fff:S, 0x638000-0x638fff:S, 0x639000-0x639fff:S, 0x63a000-0x63afff:S, 0x63b000-0x63bfff:S, 0x63c000-0x63cfff:S, 0x63d000-0x63dfff:S, 0x63e000-0x63efff:S, 0x63f000-0x63ffff:S, 0x640000-0x640fff:S, 0x641000-0x641fff:S, 0x642000-0x642fff:S, 0x643000-0x643fff:S, 0x644000-0x644fff:S, 0x645000-0x645fff:S, 0x646000-0x646fff:S, 0x647000-0x647fff:S, 0x648000-0x648fff:S, 0x649000-0x649fff:S, 0x64a000-0x64afff:S, 0x64b000-0x64bfff:S, 0x64c000-0x64cfff:S, 0x64d000-0x64dfff:S, 0x64e000-0x64efff:S, 0x64f000-0x64ffff:S, 0x650000-0x650fff:S, 0x651000-0x651fff:S, 0x652000-0x652fff:S, 0x653000-0x653fff:S, 0x654000-0x654fff:S, 0x655000-0x655fff:S, 0x656000-0x656fff:S, 0x657000-0x657fff:S, 0x658000-0x658fff:S, 0x659000-0x659fff:S, 0x65a000-0x65afff:S, 0x65b000-0x65bfff:S, 0x65c000-0x65cfff:S, 0x65d000-0x65dfff:S, 0x65e000-0x65efff:S, 0x65f000-0x65ffff:S, 0x660000-0x660fff:S, 0x661000-0x661fff:S, 0x662000-0x662fff:S, 0x663000-0x663fff:S, 0x664000-0x664fff:S, 0x665000-0x665fff:S, 0x666000-0x666fff:S, 0x667000-0x667fff:S, 0x668000-0x668fff:S, 0x669000-0x669fff:S, 0x66a000-0x66afff:S, 0x66b000-0x66bfff:S, 0x66c000-0x66cfff:S, 0x66d000-0x66dfff:S, 0x66e000-0x66efff:S, 0x66f000-0x66ffff:S, 0x670000-0x670fff:S, 0x671000-0x671fff:S, 0x672000-0x672fff:S, 0x673000-0x673fff:S, 0x674000-0x674fff:S, 0x675000-0x675fff:S, 0x676000-0x676fff:S, 0x677000-0x677fff:S, 0x678000-0x678fff:S, 0x679000-0x679fff:S, 0x67a000-0x67afff:S, 0x67b000-0x67bfff:S, 0x67c000-0x67cfff:S, 0x67d000-0x67dfff:S, 0x67e000-0x67efff:S, 0x67f000-0x67ffff:S, 0x680000-0x680fff:S, 0x681000-0x681fff:S, 0x682000-0x682fff:S, 0x683000-0x683fff:S, 0x684000-0x684fff:S, 0x685000-0x685fff:S, 0x686000-0x686fff:S, 0x687000-0x687fff:S, 0x688000-0x688fff:S, 0x689000-0x689fff:S, 0x68a000-0x68afff:S, 0x68b000-0x68bfff:S, 0x68c000-0x68cfff:S, 0x68d000-0x68dfff:S, 0x68e000-0x68efff:S, 0x68f000-0x68ffff:S, 0x690000-0x690fff:S, 0x691000-0x691fff:S, 0x692000-0x692fff:S, 0x693000-0x693fff:S, 0x694000-0x694fff:S, 0x695000-0x695fff:S, 0x696000-0x696fff:S, 0x697000-0x697fff:S, 0x698000-0x698fff:S, 0x699000-0x699fff:S, 0x69a000-0x69afff:S, 0x69b000-0x69bfff:S, 0x69c000-0x69cfff:S, 0x69d000-0x69dfff:S, 0x69e000-0x69efff:S, 0x69f000-0x69ffff:S, 0x6a0000-0x6a0fff:S, 0x6a1000-0x6a1fff:S, 0x6a2000-0x6a2fff:S, 0x6a3000-0x6a3fff:S, 0x6a4000-0x6a4fff:S, 0x6a5000-0x6a5fff:S, 0x6a6000-0x6a6fff:S, 0x6a7000-0x6a7fff:S, 0x6a8000-0x6a8fff:S, 0x6a9000-0x6a9fff:S, 0x6aa000-0x6aafff:S, 0x6ab000-0x6abfff:S, 0x6ac000-0x6acfff:S, 0x6ad000-0x6adfff:S, 0x6ae000-0x6aefff:S, 0x6af000-0x6affff:S, 0x6b0000-0x6b0fff:S, 0x6b1000-0x6b1fff:S, 0x6b2000-0x6b2fff:S, 0x6b3000-0x6b3fff:S, 0x6b4000-0x6b4fff:S, 0x6b5000-0x6b5fff:S, 0x6b6000-0x6b6fff:S, 0x6b7000-0x6b7fff:S, 0x6b8000-0x6b8fff:S, 0x6b9000-0x6b9fff:S, 0x6ba000-0x6bafff:S, 0x6bb000-0x6bbfff:S, 0x6bc000-0x6bcfff:S, 0x6bd000-0x6bdfff:S, 0x6be000-0x6befff:S, 0x6bf000-0x6bffff:S, 0x6c0000-0x6c0fff:S, 0x6c1000-0x6c1fff:S, 0x6c2000-0x6c2fff:S, 0x6c3000-0x6c3fff:S, 0x6c4000-0x6c4fff:S, 0x6c5000-0x6c5fff:S, 0x6c6000-0x6c6fff:S, 0x6c7000-0x6c7fff:S, 0x6c8000-0x6c8fff:S, 0x6c9000-0x6c9fff:S, 0x6ca000-0x6cafff:S, 0x6cb000-0x6cbfff:S, 0x6cc000-0x6ccfff:S, 0x6cd000-0x6cdfff:S, 0x6ce000-0x6cefff:S, 0x6cf000-0x6cffff:S, 0x6d0000-0x6d0fff:S, 0x6d1000-0x6d1fff:S, 0x6d2000-0x6d2fff:S, 0x6d3000-0x6d3fff:S, 0x6d4000-0x6d4fff:S, 0x6d5000-0x6d5fff:S, 0x6d6000-0x6d6fff:S, 0x6d7000-0x6d7fff:S, 0x6d8000-0x6d8fff:S, 0x6d9000-0x6d9fff:S, 0x6da000-0x6dafff:S, 0x6db000-0x6dbfff:S, 0x6dc000-0x6dcfff:S, 0x6dd000-0x6ddfff:S, 0x6de000-0x6defff:S, 0x6df000-0x6dffff:S, 0x6e0000-0x6e0fff:S, 0x6e1000-0x6e1fff:S, 0x6e2000-0x6e2fff:S, 0x6e3000-0x6e3fff:S, 0x6e4000-0x6e4fff:S, 0x6e5000-0x6e5fff:S, 0x6e6000-0x6e6fff:S, 0x6e7000-0x6e7fff:S, 0x6e8000-0x6e8fff:S, 0x6e9000-0x6e9fff:S, 0x6ea000-0x6eafff:S, 0x6eb000-0x6ebfff:S, 0x6ec000-0x6ecfff:S, 0x6ed000-0x6edfff:S, 0x6ee000-0x6eefff:S, 0x6ef000-0x6effff:S, 0x6f0000-0x6f0fff:S, 0x6f1000-0x6f1fff:S, 0x6f2000-0x6f2fff:S, 0x6f3000-0x6f3fff:S, 0x6f4000-0x6f4fff:S, 0x6f5000-0x6f5fff:S, 0x6f6000-0x6f6fff:S, 0x6f7000-0x6f7fff:S, 0x6f8000-0x6f8fff:S, 0x6f9000-0x6f9fff:S, 0x6fa000-0x6fafff:S, 0x6fb000-0x6fbfff:S, 0x6fc000-0x6fcfff:S, 0x6fd000-0x6fdfff:S, 0x6fe000-0x6fefff:S, 0x6ff000-0x6fffff:S, 0x700000-0x700fff:S, 0x701000-0x701fff:S, 0x702000-0x702fff:S, 0x703000-0x703fff:S, 0x704000-0x704fff:S, 0x705000-0x705fff:S, 0x706000-0x706fff:S, 0x707000-0x707fff:S, 0x708000-0x708fff:S, 0x709000-0x709fff:S, 0x70a000-0x70afff:S, 0x70b000-0x70bfff:S, 0x70c000-0x70cfff:S, 0x70d000-0x70dfff:S, 0x70e000-0x70efff:S, 0x70f000-0x70ffff:S, 0x710000-0x710fff:S, 0x711000-0x711fff:S, 0x712000-0x712fff:S, 0x713000-0x713fff:S, 0x714000-0x714fff:S, 0x715000-0x715fff:S, 0x716000-0x716fff:S, 0x717000-0x717fff:S, 0x718000-0x718fff:S, 0x719000-0x719fff:S, 0x71a000-0x71afff:S, 0x71b000-0x71bfff:S, 0x71c000-0x71cfff:S, 0x71d000-0x71dfff:S, 0x71e000-0x71efff:S, 0x71f000-0x71ffff:S, 0x720000-0x720fff:S, 0x721000-0x721fff:S, 0x722000-0x722fff:S, 0x723000-0x723fff:S, 0x724000-0x724fff:S, 0x725000-0x725fff:S, 0x726000-0x726fff:S, 0x727000-0x727fff:S, 0x728000-0x728fff:S, 0x729000-0x729fff:S, 0x72a000-0x72afff:S, 0x72b000-0x72bfff:S, 0x72c000-0x72cfff:S, 0x72d000-0x72dfff:S, 0x72e000-0x72efff:S, 0x72f000-0x72ffff:S, 0x730000-0x730fff:S, 0x731000-0x731fff:S, 0x732000-0x732fff:S, 0x733000-0x733fff:S, 0x734000-0x734fff:S, 0x735000-0x735fff:S, 0x736000-0x736fff:S, 0x737000-0x737fff:S, 0x738000-0x738fff:S, 0x739000-0x739fff:S, 0x73a000-0x73afff:S, 0x73b000-0x73bfff:S, 0x73c000-0x73cfff:S, 0x73d000-0x73dfff:S, 0x73e000-0x73efff:S, 0x73f000-0x73ffff:S, 0x740000-0x740fff:S, 0x741000-0x741fff:S, 0x742000-0x742fff:S, 0x743000-0x743fff:S, 0x744000-0x744fff:S, 0x745000-0x745fff:S, 0x746000-0x746fff:S, 0x747000-0x747fff:S, 0x748000-0x748fff:S, 0x749000-0x749fff:S, 0x74a000-0x74afff:S, 0x74b000-0x74bfff:S, 0x74c000-0x74cfff:S, 0x74d000-0x74dfff:S, 0x74e000-0x74efff:S, 0x74f000-0x74ffff:S, 0x750000-0x750fff:S, 0x751000-0x751fff:S, 0x752000-0x752fff:S, 0x753000-0x753fff:S, 0x754000-0x754fff:S, 0x755000-0x755fff:S, 0x756000-0x756fff:S, 0x757000-0x757fff:S, 0x758000-0x758fff:S, 0x759000-0x759fff:S, 0x75a000-0x75afff:S, 0x75b000-0x75bfff:S, 0x75c000-0x75cfff:S, 0x75d000-0x75dfff:S, 0x75e000-0x75efff:S, 0x75f000-0x75ffff:S, 0x760000-0x760fff:S, 0x761000-0x761fff:S, 0x762000-0x762fff:S, 0x763000-0x763fff:S, 0x764000-0x764fff:S, 0x765000-0x765fff:S, 0x766000-0x766fff:S, 0x767000-0x767fff:S, 0x768000-0x768fff:S, 0x769000-0x769fff:S, 0x76a000-0x76afff:S, 0x76b000-0x76bfff:S, 0x76c000-0x76cfff:S, 0x76d000-0x76dfff:S, 0x76e000-0x76efff:S, 0x76f000-0x76ffff:S, 0x770000-0x770fff:S, 0x771000-0x771fff:S, 0x772000-0x772fff:S, 0x773000-0x773fff:S, 0x774000-0x774fff:S, 0x775000-0x775fff:S, 0x776000-0x776fff:S, 0x777000-0x777fff:S, 0x778000-0x778fff:S, 0x779000-0x779fff:S, 0x77a000-0x77afff:S, 0x77b000-0x77bfff:S, 0x77c000-0x77cfff:S, 0x77d000-0x77dfff:S, 0x77e000-0x77efff:S, 0x77f000-0x77ffff:S, 0x780000-0x780fff:S, 0x781000-0x781fff:S, 0x782000-0x782fff:S, 0x783000-0x783fff:S, 0x784000-0x784fff:S, 0x785000-0x785fff:S, 0x786000-0x786fff:S, 0x787000-0x787fff:S, 0x788000-0x788fff:S, 0x789000-0x789fff:S, 0x78a000-0x78afff:S, 0x78b000-0x78bfff:S, 0x78c000-0x78cfff:S, 0x78d000-0x78dfff:S, 0x78e000-0x78efff:S, 0x78f000-0x78ffff:S, 0x790000-0x790fff:S, 0x791000-0x791fff:S, 0x792000-0x792fff:S, 0x793000-0x793fff:S, 0x794000-0x794fff:S, 0x795000-0x795fff:S, 0x796000-0x796fff:S, 0x797000-0x797fff:S, 0x798000-0x798fff:S, 0x799000-0x799fff:S, 0x79a000-0x79afff:S, 0x79b000-0x79bfff:S, 0x79c000-0x79cfff:S, 0x79d000-0x79dfff:S, 0x79e000-0x79efff:S, 0x79f000-0x79ffff:S, 0x7a0000-0x7a0fff:S, 0x7a1000-0x7a1fff:S, 0x7a2000-0x7a2fff:S, 0x7a3000-0x7a3fff:S, 0x7a4000-0x7a4fff:S, 0x7a5000-0x7a5fff:S, 0x7a6000-0x7a6fff:S, 0x7a7000-0x7a7fff:S, 0x7a8000-0x7a8fff:S, 0x7a9000-0x7a9fff:S, 0x7aa000-0x7aafff:S, 0x7ab000-0x7abfff:S, 0x7ac000-0x7acfff:S, 0x7ad000-0x7adfff:S, 0x7ae000-0x7aefff:S, 0x7af000-0x7affff:S, 0x7b0000-0x7b0fff:S, 0x7b1000-0x7b1fff:S, 0x7b2000-0x7b2fff:S, 0x7b3000-0x7b3fff:S, 0x7b4000-0x7b4fff:S, 0x7b5000-0x7b5fff:S, 0x7b6000-0x7b6fff:S, 0x7b7000-0x7b7fff:S, 0x7b8000-0x7b8fff:S, 0x7b9000-0x7b9fff:S, 0x7ba000-0x7bafff:S, 0x7bb000-0x7bbfff:S, 0x7bc000-0x7bcfff:S, 0x7bd000-0x7bdfff:S, 0x7be000-0x7befff:S, 0x7bf000-0x7bffff:S, 0x7c0000-0x7c0fff:S, 0x7c1000-0x7c1fff:S, 0x7c2000-0x7c2fff:S, 0x7c3000-0x7c3fff:S, 0x7c4000-0x7c4fff:S, 0x7c5000-0x7c5fff:S, 0x7c6000-0x7c6fff:S, 0x7c7000-0x7c7fff:S, 0x7c8000-0x7c8fff:S, 0x7c9000-0x7c9fff:S, 0x7ca000-0x7cafff:S, 0x7cb000-0x7cbfff:S, 0x7cc000-0x7ccfff:S, 0x7cd000-0x7cdfff:S, 0x7ce000-0x7cefff:S, 0x7cf000-0x7cffff:S, 0x7d0000-0x7d0fff:S, 0x7d1000-0x7d1fff:S, 0x7d2000-0x7d2fff:S, 0x7d3000-0x7d3fff:S, 0x7d4000-0x7d4fff:S, 0x7d5000-0x7d5fff:S, 0x7d6000-0x7d6fff:S, 0x7d7000-0x7d7fff:S, 0x7d8000-0x7d8fff:S, 0x7d9000-0x7d9fff:S, 0x7da000-0x7dafff:S, 0x7db000-0x7dbfff:S, 0x7dc000-0x7dcfff:S, 0x7dd000-0x7ddfff:S, 0x7de000-0x7defff:S, 0x7df000-0x7dffff:S, 0x7e0000-0x7e0fff:S, 0x7e1000-0x7e1fff:S, 0x7e2000-0x7e2fff:S, 0x7e3000-0x7e3fff:S, 0x7e4000-0x7e4fff:S, 0x7e5000-0x7e5fff:S, 0x7e6000-0x7e6fff:S, 0x7e7000-0x7e7fff:S, 0x7e8000-0x7e8fff:S, 0x7e9000-0x7e9fff:S, 0x7ea000-0x7eafff:S, 0x7eb000-0x7ebfff:S, 0x7ec000-0x7ecfff:S, 0x7ed000-0x7edfff:S, 0x7ee000-0x7eefff:S, 0x7ef000-0x7effff:S, 0x7f0000-0x7f0fff:S, 0x7f1000-0x7f1fff:S, 0x7f2000-0x7f2fff:S, 0x7f3000-0x7f3fff:S, 0x7f4000-0x7f4fff:S, 0x7f5000-0x7f5fff:S, 0x7f6000-0x7f6fff:S, 0x7f7000-0x7f7fff:S, 0x7f8000-0x7f8fff:S, 0x7f9000-0x7f9fff:S, 0x7fa000-0x7fafff:S, 0x7fb000-0x7fbfff:S, 0x7fc000-0x7fcfff:S, 0x7fd000-0x7fdfff:S, 0x7fe000-0x7fefff:S, 0x7ff000-0x7fffff:S, 0x800000-0x800fff:S, 0x801000-0x801fff:S, 0x802000-0x802fff:S, 0x803000-0x803fff:S, 0x804000-0x804fff:S, 0x805000-0x805fff:S, 0x806000-0x806fff:S, 0x807000-0x807fff:S, 0x808000-0x808fff:S, 0x809000-0x809fff:S, 0x80a000-0x80afff:S, 0x80b000-0x80bfff:S, 0x80c000-0x80cfff:S, 0x80d000-0x80dfff:S, 0x80e000-0x80efff:S, 0x80f000-0x80ffff:S, 0x810000-0x810fff:S, 0x811000-0x811fff:S, 0x812000-0x812fff:S, 0x813000-0x813fff:S, 0x814000-0x814fff:S, 0x815000-0x815fff:S, 0x816000-0x816fff:S, 0x817000-0x817fff:S, 0x818000-0x818fff:S, 0x819000-0x819fff:S, 0x81a000-0x81afff:S, 0x81b000-0x81bfff:S, 0x81c000-0x81cfff:S, 0x81d000-0x81dfff:S, 0x81e000-0x81efff:S, 0x81f000-0x81ffff:S, 0x820000-0x820fff:S, 0x821000-0x821fff:S, 0x822000-0x822fff:S, 0x823000-0x823fff:S, 0x824000-0x824fff:S, 0x825000-0x825fff:S, 0x826000-0x826fff:S, 0x827000-0x827fff:S, 0x828000-0x828fff:S, 0x829000-0x829fff:S, 0x82a000-0x82afff:S, 0x82b000-0x82bfff:S, 0x82c000-0x82cfff:S, 0x82d000-0x82dfff:S, 0x82e000-0x82efff:S, 0x82f000-0x82ffff:S, 0x830000-0x830fff:S, 0x831000-0x831fff:S, 0x832000-0x832fff:S, 0x833000-0x833fff:S, 0x834000-0x834fff:S, 0x835000-0x835fff:S, 0x836000-0x836fff:S, 0x837000-0x837fff:S, 0x838000-0x838fff:S, 0x839000-0x839fff:S, 0x83a000-0x83afff:S, 0x83b000-0x83bfff:S, 0x83c000-0x83cfff:S, 0x83d000-0x83dfff:S, 0x83e000-0x83efff:S, 0x83f000-0x83ffff:S, 0x840000-0x840fff:S, 0x841000-0x841fff:S, 0x842000-0x842fff:S, 0x843000-0x843fff:S, 0x844000-0x844fff:S, 0x845000-0x845fff:S, 0x846000-0x846fff:S, 0x847000-0x847fff:S, 0x848000-0x848fff:S, 0x849000-0x849fff:S, 0x84a000-0x84afff:S, 0x84b000-0x84bfff:S, 0x84c000-0x84cfff:S, 0x84d000-0x84dfff:S, 0x84e000-0x84efff:S, 0x84f000-0x84ffff:S, 0x850000-0x850fff:S, 0x851000-0x851fff:S, 0x852000-0x852fff:S, 0x853000-0x853fff:S, 0x854000-0x854fff:S, 0x855000-0x855fff:S, 0x856000-0x856fff:S, 0x857000-0x857fff:S, 0x858000-0x858fff:S, 0x859000-0x859fff:S, 0x85a000-0x85afff:S, 0x85b000-0x85bfff:S, 0x85c000-0x85cfff:S, 0x85d000-0x85dfff:S, 0x85e000-0x85efff:S, 0x85f000-0x85ffff:S, 0x860000-0x860fff:S, 0x861000-0x861fff:S, 0x862000-0x862fff:S, 0x863000-0x863fff:S, 0x864000-0x864fff:S, 0x865000-0x865fff:S, 0x866000-0x866fff:S, 0x867000-0x867fff:S, 0x868000-0x868fff:S, 0x869000-0x869fff:S, 0x86a000-0x86afff:S, 0x86b000-0x86bfff:S, 0x86c000-0x86cfff:S, 0x86d000-0x86dfff:S, 0x86e000-0x86efff:S, 0x86f000-0x86ffff:S, 0x870000-0x870fff:S, 0x871000-0x871fff:S, 0x872000-0x872fff:S, 0x873000-0x873fff:S, 0x874000-0x874fff:S, 0x875000-0x875fff:S, 0x876000-0x876fff:S, 0x877000-0x877fff:S, 0x878000-0x878fff:S, 0x879000-0x879fff:S, 0x87a000-0x87afff:S, 0x87b000-0x87bfff:S, 0x87c000-0x87cfff:S, 0x87d000-0x87dfff:S, 0x87e000-0x87efff:S, 0x87f000-0x87ffff:S, 0x880000-0x880fff:S, 0x881000-0x881fff:S, 0x882000-0x882fff:S, 0x883000-0x883fff:S, 0x884000-0x884fff:S, 0x885000-0x885fff:S, 0x886000-0x886fff:S, 0x887000-0x887fff:S, 0x888000-0x888fff:S, 0x889000-0x889fff:S, 0x88a000-0x88afff:S, 0x88b000-0x88bfff:S, 0x88c000-0x88cfff:S, 0x88d000-0x88dfff:S, 0x88e000-0x88efff:S, 0x88f000-0x88ffff:S, 0x890000-0x890fff:S, 0x891000-0x891fff:S, 0x892000-0x892fff:S, 0x893000-0x893fff:S, 0x894000-0x894fff:S, 0x895000-0x895fff:S, 0x896000-0x896fff:S, 0x897000-0x897fff:S, 0x898000-0x898fff:S, 0x899000-0x899fff:S, 0x89a000-0x89afff:S, 0x89b000-0x89bfff:S, 0x89c000-0x89cfff:S, 0x89d000-0x89dfff:S, 0x89e000-0x89efff:S, 0x89f000-0x89ffff:S, 0x8a0000-0x8a0fff:S, 0x8a1000-0x8a1fff:S, 0x8a2000-0x8a2fff:S, 0x8a3000-0x8a3fff:S, 0x8a4000-0x8a4fff:S, 0x8a5000-0x8a5fff:S, 0x8a6000-0x8a6fff:S, 0x8a7000-0x8a7fff:S, 0x8a8000-0x8a8fff:S, 0x8a9000-0x8a9fff:S, 0x8aa000-0x8aafff:S, 0x8ab000-0x8abfff:S, 0x8ac000-0x8acfff:S, 0x8ad000-0x8adfff:S, 0x8ae000-0x8aefff:S, 0x8af000-0x8affff:S, 0x8b0000-0x8b0fff:S, 0x8b1000-0x8b1fff:S, 0x8b2000-0x8b2fff:S, 0x8b3000-0x8b3fff:S, 0x8b4000-0x8b4fff:S, 0x8b5000-0x8b5fff:S, 0x8b6000-0x8b6fff:S, 0x8b7000-0x8b7fff:S, 0x8b8000-0x8b8fff:S, 0x8b9000-0x8b9fff:S, 0x8ba000-0x8bafff:S, 0x8bb000-0x8bbfff:S, 0x8bc000-0x8bcfff:S, 0x8bd000-0x8bdfff:S, 0x8be000-0x8befff:S, 0x8bf000-0x8bffff:S, 0x8c0000-0x8c0fff:S, 0x8c1000-0x8c1fff:S, 0x8c2000-0x8c2fff:S, 0x8c3000-0x8c3fff:S, 0x8c4000-0x8c4fff:S, 0x8c5000-0x8c5fff:S, 0x8c6000-0x8c6fff:S, 0x8c7000-0x8c7fff:S, 0x8c8000-0x8c8fff:S, 0x8c9000-0x8c9fff:S, 0x8ca000-0x8cafff:S, 0x8cb000-0x8cbfff:S, 0x8cc000-0x8ccfff:S, 0x8cd000-0x8cdfff:S, 0x8ce000-0x8cefff:S, 0x8cf000-0x8cffff:S, 0x8d0000-0x8d0fff:S, 0x8d1000-0x8d1fff:S, 0x8d2000-0x8d2fff:S, 0x8d3000-0x8d3fff:S, 0x8d4000-0x8d4fff:S, 0x8d5000-0x8d5fff:S, 0x8d6000-0x8d6fff:S, 0x8d7000-0x8d7fff:S, 0x8d8000-0x8d8fff:S, 0x8d9000-0x8d9fff:S, 0x8da000-0x8dafff:S, 0x8db000-0x8dbfff:S, 0x8dc000-0x8dcfff:S, 0x8dd000-0x8ddfff:S, 0x8de000-0x8defff:S, 0x8df000-0x8dffff:S, 0x8e0000-0x8e0fff:S, 0x8e1000-0x8e1fff:S, 0x8e2000-0x8e2fff:S, 0x8e3000-0x8e3fff:S, 0x8e4000-0x8e4fff:S, 0x8e5000-0x8e5fff:S, 0x8e6000-0x8e6fff:S, 0x8e7000-0x8e7fff:S, 0x8e8000-0x8e8fff:S, 0x8e9000-0x8e9fff:S, 0x8ea000-0x8eafff:S, 0x8eb000-0x8ebfff:S, 0x8ec000-0x8ecfff:S, 0x8ed000-0x8edfff:S, 0x8ee000-0x8eefff:S, 0x8ef000-0x8effff:S, 0x8f0000-0x8f0fff:S, 0x8f1000-0x8f1fff:S, 0x8f2000-0x8f2fff:S, 0x8f3000-0x8f3fff:S, 0x8f4000-0x8f4fff:S, 0x8f5000-0x8f5fff:S, 0x8f6000-0x8f6fff:S, 0x8f7000-0x8f7fff:S, 0x8f8000-0x8f8fff:S, 0x8f9000-0x8f9fff:S, 0x8fa000-0x8fafff:S, 0x8fb000-0x8fbfff:S, 0x8fc000-0x8fcfff:S, 0x8fd000-0x8fdfff:S, 0x8fe000-0x8fefff:S, 0x8ff000-0x8fffff:S, 0x900000-0x900fff:S, 0x901000-0x901fff:S, 0x902000-0x902fff:S, 0x903000-0x903fff:S, 0x904000-0x904fff:S, 0x905000-0x905fff:S, 0x906000-0x906fff:S, 0x907000-0x907fff:S, 0x908000-0x908fff:S, 0x909000-0x909fff:S, 0x90a000-0x90afff:S, 0x90b000-0x90bfff:S, 0x90c000-0x90cfff:S, 0x90d000-0x90dfff:S, 0x90e000-0x90efff:S, 0x90f000-0x90ffff:S, 0x910000-0x910fff:S, 0x911000-0x911fff:S, 0x912000-0x912fff:S, 0x913000-0x913fff:S, 0x914000-0x914fff:S, 0x915000-0x915fff:S, 0x916000-0x916fff:S, 0x917000-0x917fff:S, 0x918000-0x918fff:S, 0x919000-0x919fff:S, 0x91a000-0x91afff:S, 0x91b000-0x91bfff:S, 0x91c000-0x91cfff:S, 0x91d000-0x91dfff:S, 0x91e000-0x91efff:S, 0x91f000-0x91ffff:S, 0x920000-0x920fff:S, 0x921000-0x921fff:S, 0x922000-0x922fff:S, 0x923000-0x923fff:S, 0x924000-0x924fff:S, 0x925000-0x925fff:S, 0x926000-0x926fff:S, 0x927000-0x927fff:S, 0x928000-0x928fff:S, 0x929000-0x929fff:S, 0x92a000-0x92afff:S, 0x92b000-0x92bfff:S, 0x92c000-0x92cfff:S, 0x92d000-0x92dfff:S, 0x92e000-0x92efff:S, 0x92f000-0x92ffff:S, 0x930000-0x930fff:S, 0x931000-0x931fff:S, 0x932000-0x932fff:S, 0x933000-0x933fff:S, 0x934000-0x934fff:S, 0x935000-0x935fff:S, 0x936000-0x936fff:S, 0x937000-0x937fff:S, 0x938000-0x938fff:S, 0x939000-0x939fff:S, 0x93a000-0x93afff:S, 0x93b000-0x93bfff:S, 0x93c000-0x93cfff:S, 0x93d000-0x93dfff:S, 0x93e000-0x93efff:S, 0x93f000-0x93ffff:S, 0x940000-0x940fff:S, 0x941000-0x941fff:S, 0x942000-0x942fff:S, 0x943000-0x943fff:S, 0x944000-0x944fff:S, 0x945000-0x945fff:S, 0x946000-0x946fff:S, 0x947000-0x947fff:S, 0x948000-0x948fff:S, 0x949000-0x949fff:S, 0x94a000-0x94afff:S, 0x94b000-0x94bfff:S, 0x94c000-0x94cfff:S, 0x94d000-0x94dfff:S, 0x94e000-0x94efff:S, 0x94f000-0x94ffff:S, 0x950000-0x950fff:S, 0x951000-0x951fff:S, 0x952000-0x952fff:S, 0x953000-0x953fff:S, 0x954000-0x954fff:S, 0x955000-0x955fff:S, 0x956000-0x956fff:S, 0x957000-0x957fff:S, 0x958000-0x958fff:S, 0x959000-0x959fff:S, 0x95a000-0x95afff:S, 0x95b000-0x95bfff:S, 0x95c000-0x95cfff:S, 0x95d000-0x95dfff:S, 0x95e000-0x95efff:S, 0x95f000-0x95ffff:S, 0x960000-0x960fff:S, 0x961000-0x961fff:S, 0x962000-0x962fff:S, 0x963000-0x963fff:S, 0x964000-0x964fff:S, 0x965000-0x965fff:S, 0x966000-0x966fff:S, 0x967000-0x967fff:S, 0x968000-0x968fff:S, 0x969000-0x969fff:S, 0x96a000-0x96afff:S, 0x96b000-0x96bfff:S, 0x96c000-0x96cfff:S, 0x96d000-0x96dfff:S, 0x96e000-0x96efff:S, 0x96f000-0x96ffff:S, 0x970000-0x970fff:S, 0x971000-0x971fff:S, 0x972000-0x972fff:S, 0x973000-0x973fff:S, 0x974000-0x974fff:S, 0x975000-0x975fff:S, 0x976000-0x976fff:S, 0x977000-0x977fff:S, 0x978000-0x978fff:S, 0x979000-0x979fff:S, 0x97a000-0x97afff:S, 0x97b000-0x97bfff:S, 0x97c000-0x97cfff:S, 0x97d000-0x97dfff:S, 0x97e000-0x97efff:S, 0x97f000-0x97ffff:S, 0x980000-0x980fff:S, 0x981000-0x981fff:S, 0x982000-0x982fff:S, 0x983000-0x983fff:S, 0x984000-0x984fff:S, 0x985000-0x985fff:S, 0x986000-0x986fff:S, 0x987000-0x987fff:S, 0x988000-0x988fff:S, 0x989000-0x989fff:S, 0x98a000-0x98afff:S, 0x98b000-0x98bfff:S, 0x98c000-0x98cfff:S, 0x98d000-0x98dfff:S, 0x98e000-0x98efff:S, 0x98f000-0x98ffff:S, 0x990000-0x990fff:S, 0x991000-0x991fff:S, 0x992000-0x992fff:S, 0x993000-0x993fff:S, 0x994000-0x994fff:S, 0x995000-0x995fff:S, 0x996000-0x996fff:S, 0x997000-0x997fff:S, 0x998000-0x998fff:S, 0x999000-0x999fff:S, 0x99a000-0x99afff:S, 0x99b000-0x99bfff:S, 0x99c000-0x99cfff:S, 0x99d000-0x99dfff:S, 0x99e000-0x99efff:S, 0x99f000-0x99ffff:S, 0x9a0000-0x9a0fff:S, 0x9a1000-0x9a1fff:S, 0x9a2000-0x9a2fff:S, 0x9a3000-0x9a3fff:S, 0x9a4000-0x9a4fff:S, 0x9a5000-0x9a5fff:S, 0x9a6000-0x9a6fff:S, 0x9a7000-0x9a7fff:S, 0x9a8000-0x9a8fff:S, 0x9a9000-0x9a9fff:S, 0x9aa000-0x9aafff:S, 0x9ab000-0x9abfff:S, 0x9ac000-0x9acfff:S, 0x9ad000-0x9adfff:S, 0x9ae000-0x9aefff:S, 0x9af000-0x9affff:S, 0x9b0000-0x9b0fff:S, 0x9b1000-0x9b1fff:S, 0x9b2000-0x9b2fff:S, 0x9b3000-0x9b3fff:S, 0x9b4000-0x9b4fff:S, 0x9b5000-0x9b5fff:S, 0x9b6000-0x9b6fff:S, 0x9b7000-0x9b7fff:S, 0x9b8000-0x9b8fff:S, 0x9b9000-0x9b9fff:S, 0x9ba000-0x9bafff:S, 0x9bb000-0x9bbfff:S, 0x9bc000-0x9bcfff:S, 0x9bd000-0x9bdfff:S, 0x9be000-0x9befff:S, 0x9bf000-0x9bffff:S, 0x9c0000-0x9c0fff:S, 0x9c1000-0x9c1fff:S, 0x9c2000-0x9c2fff:S, 0x9c3000-0x9c3fff:S, 0x9c4000-0x9c4fff:S, 0x9c5000-0x9c5fff:S, 0x9c6000-0x9c6fff:S, 0x9c7000-0x9c7fff:S, 0x9c8000-0x9c8fff:S, 0x9c9000-0x9c9fff:S, 0x9ca000-0x9cafff:S, 0x9cb000-0x9cbfff:S, 0x9cc000-0x9ccfff:S, 0x9cd000-0x9cdfff:S, 0x9ce000-0x9cefff:S, 0x9cf000-0x9cffff:S, 0x9d0000-0x9d0fff:S, 0x9d1000-0x9d1fff:S, 0x9d2000-0x9d2fff:S, 0x9d3000-0x9d3fff:S, 0x9d4000-0x9d4fff:S, 0x9d5000-0x9d5fff:S, 0x9d6000-0x9d6fff:S, 0x9d7000-0x9d7fff:S, 0x9d8000-0x9d8fff:S, 0x9d9000-0x9d9fff:S, 0x9da000-0x9dafff:S, 0x9db000-0x9dbfff:S, 0x9dc000-0x9dcfff:S, 0x9dd000-0x9ddfff:S, 0x9de000-0x9defff:S, 0x9df000-0x9dffff:S, 0x9e0000-0x9e0fff:S, 0x9e1000-0x9e1fff:S, 0x9e2000-0x9e2fff:S, 0x9e3000-0x9e3fff:S, 0x9e4000-0x9e4fff:S, 0x9e5000-0x9e5fff:S, 0x9e6000-0x9e6fff:S, 0x9e7000-0x9e7fff:S, 0x9e8000-0x9e8fff:S, 0x9e9000-0x9e9fff:S, 0x9ea000-0x9eafff:S, 0x9eb000-0x9ebfff:S, 0x9ec000-0x9ecfff:S, 0x9ed000-0x9edfff:S, 0x9ee000-0x9eefff:S, 0x9ef000-0x9effff:S, 0x9f0000-0x9f0fff:S, 0x9f1000-0x9f1fff:S, 0x9f2000-0x9f2fff:S, 0x9f3000-0x9f3fff:S, 0x9f4000-0x9f4fff:S, 0x9f5000-0x9f5fff:S, 0x9f6000-0x9f6fff:S, 0x9f7000-0x9f7fff:S, 0x9f8000-0x9f8fff:S, 0x9f9000-0x9f9fff:S, 0x9fa000-0x9fafff:S, 0x9fb000-0x9fbfff:S, 0x9fc000-0x9fcfff:S, 0x9fd000-0x9fdfff:S, 0x9fe000-0x9fefff:S, 0x9ff000-0x9fffff:S, 0xa00000-0xa00fff:S, 0xa01000-0xa01fff:S, 0xa02000-0xa02fff:S, 0xa03000-0xa03fff:S, 0xa04000-0xa04fff:S, 0xa05000-0xa05fff:S, 0xa06000-0xa06fff:S, 0xa07000-0xa07fff:S, 0xa08000-0xa08fff:S, 0xa09000-0xa09fff:S, 0xa0a000-0xa0afff:S, 0xa0b000-0xa0bfff:S, 0xa0c000-0xa0cfff:S, 0xa0d000-0xa0dfff:S, 0xa0e000-0xa0efff:S, 0xa0f000-0xa0ffff:S, 0xa10000-0xa10fff:S, 0xa11000-0xa11fff:S, 0xa12000-0xa12fff:S, 0xa13000-0xa13fff:S, 0xa14000-0xa14fff:S, 0xa15000-0xa15fff:S, 0xa16000-0xa16fff:S, 0xa17000-0xa17fff:S, 0xa18000-0xa18fff:S, 0xa19000-0xa19fff:S, 0xa1a000-0xa1afff:S, 0xa1b000-0xa1bfff:S, 0xa1c000-0xa1cfff:S, 0xa1d000-0xa1dfff:S, 0xa1e000-0xa1efff:S, 0xa1f000-0xa1ffff:S, 0xa20000-0xa20fff:S, 0xa21000-0xa21fff:S, 0xa22000-0xa22fff:S, 0xa23000-0xa23fff:S, 0xa24000-0xa24fff:S, 0xa25000-0xa25fff:S, 0xa26000-0xa26fff:S, 0xa27000-0xa27fff:S, 0xa28000-0xa28fff:S, 0xa29000-0xa29fff:S, 0xa2a000-0xa2afff:S, 0xa2b000-0xa2bfff:S, 0xa2c000-0xa2cfff:S, 0xa2d000-0xa2dfff:S, 0xa2e000-0xa2efff:S, 0xa2f000-0xa2ffff:S, 0xa30000-0xa30fff:S, 0xa31000-0xa31fff:S, 0xa32000-0xa32fff:S, 0xa33000-0xa33fff:S, 0xa34000-0xa34fff:S, 0xa35000-0xa35fff:S, 0xa36000-0xa36fff:S, 0xa37000-0xa37fff:S, 0xa38000-0xa38fff:S, 0xa39000-0xa39fff:S, 0xa3a000-0xa3afff:S, 0xa3b000-0xa3bfff:S, 0xa3c000-0xa3cfff:S, 0xa3d000-0xa3dfff:S, 0xa3e000-0xa3efff:S, 0xa3f000-0xa3ffff:S, 0xa40000-0xa40fff:S, 0xa41000-0xa41fff:S, 0xa42000-0xa42fff:S, 0xa43000-0xa43fff:S, 0xa44000-0xa44fff:S, 0xa45000-0xa45fff:S, 0xa46000-0xa46fff:S, 0xa47000-0xa47fff:S, 0xa48000-0xa48fff:S, 0xa49000-0xa49fff:S, 0xa4a000-0xa4afff:S, 0xa4b000-0xa4bfff:S, 0xa4c000-0xa4cfff:S, 0xa4d000-0xa4dfff:S, 0xa4e000-0xa4efff:S, 0xa4f000-0xa4ffff:S, 0xa50000-0xa50fff:S, 0xa51000-0xa51fff:S, 0xa52000-0xa52fff:S, 0xa53000-0xa53fff:S, 0xa54000-0xa54fff:S, 0xa55000-0xa55fff:S, 0xa56000-0xa56fff:S, 0xa57000-0xa57fff:S, 0xa58000-0xa58fff:S, 0xa59000-0xa59fff:S, 0xa5a000-0xa5afff:S, 0xa5b000-0xa5bfff:S, 0xa5c000-0xa5cfff:S, 0xa5d000-0xa5dfff:S, 0xa5e000-0xa5efff:S, 0xa5f000-0xa5ffff:S, 0xa60000-0xa60fff:S, 0xa61000-0xa61fff:S, 0xa62000-0xa62fff:S, 0xa63000-0xa63fff:S, 0xa64000-0xa64fff:S, 0xa65000-0xa65fff:S, 0xa66000-0xa66fff:S, 0xa67000-0xa67fff:S, 0xa68000-0xa68fff:S, 0xa69000-0xa69fff:S, 0xa6a000-0xa6afff:S, 0xa6b000-0xa6bfff:S, 0xa6c000-0xa6cfff:S, 0xa6d000-0xa6dfff:S, 0xa6e000-0xa6efff:S, 0xa6f000-0xa6ffff:S, 0xa70000-0xa70fff:S, 0xa71000-0xa71fff:S, 0xa72000-0xa72fff:S, 0xa73000-0xa73fff:S, 0xa74000-0xa74fff:S, 0xa75000-0xa75fff:S, 0xa76000-0xa76fff:S, 0xa77000-0xa77fff:S, 0xa78000-0xa78fff:S, 0xa79000-0xa79fff:S, 0xa7a000-0xa7afff:S, 0xa7b000-0xa7bfff:S, 0xa7c000-0xa7cfff:S, 0xa7d000-0xa7dfff:S, 0xa7e000-0xa7efff:S, 0xa7f000-0xa7ffff:S, 0xa80000-0xa80fff:S, 0xa81000-0xa81fff:S, 0xa82000-0xa82fff:S, 0xa83000-0xa83fff:S, 0xa84000-0xa84fff:S, 0xa85000-0xa85fff:S, 0xa86000-0xa86fff:S, 0xa87000-0xa87fff:S, 0xa88000-0xa88fff:S, 0xa89000-0xa89fff:S, 0xa8a000-0xa8afff:S, 0xa8b000-0xa8bfff:S, 0xa8c000-0xa8cfff:S, 0xa8d000-0xa8dfff:S, 0xa8e000-0xa8efff:S, 0xa8f000-0xa8ffff:S, 0xa90000-0xa90fff:S, 0xa91000-0xa91fff:S, 0xa92000-0xa92fff:S, 0xa93000-0xa93fff:S, 0xa94000-0xa94fff:S, 0xa95000-0xa95fff:S, 0xa96000-0xa96fff:S, 0xa97000-0xa97fff:S, 0xa98000-0xa98fff:S, 0xa99000-0xa99fff:S, 0xa9a000-0xa9afff:S, 0xa9b000-0xa9bfff:S, 0xa9c000-0xa9cfff:S, 0xa9d000-0xa9dfff:S, 0xa9e000-0xa9efff:S, 0xa9f000-0xa9ffff:S, 0xaa0000-0xaa0fff:S, 0xaa1000-0xaa1fff:S, 0xaa2000-0xaa2fff:S, 0xaa3000-0xaa3fff:S, 0xaa4000-0xaa4fff:S, 0xaa5000-0xaa5fff:S, 0xaa6000-0xaa6fff:S, 0xaa7000-0xaa7fff:S, 0xaa8000-0xaa8fff:S, 0xaa9000-0xaa9fff:S, 0xaaa000-0xaaafff:S, 0xaab000-0xaabfff:S, 0xaac000-0xaacfff:S, 0xaad000-0xaadfff:S, 0xaae000-0xaaefff:S, 0xaaf000-0xaaffff:S, 0xab0000-0xab0fff:S, 0xab1000-0xab1fff:S, 0xab2000-0xab2fff:S, 0xab3000-0xab3fff:S, 0xab4000-0xab4fff:S, 0xab5000-0xab5fff:S, 0xab6000-0xab6fff:S, 0xab7000-0xab7fff:S, 0xab8000-0xab8fff:S, 0xab9000-0xab9fff:S, 0xaba000-0xabafff:S, 0xabb000-0xabbfff:S, 0xabc000-0xabcfff:S, 0xabd000-0xabdfff:S, 0xabe000-0xabefff:S, 0xabf000-0xabffff:S, 0xac0000-0xac0fff:S, 0xac1000-0xac1fff:S, 0xac2000-0xac2fff:S, 0xac3000-0xac3fff:S, 0xac4000-0xac4fff:S, 0xac5000-0xac5fff:S, 0xac6000-0xac6fff:S, 0xac7000-0xac7fff:S, 0xac8000-0xac8fff:S, 0xac9000-0xac9fff:S, 0xaca000-0xacafff:S, 0xacb000-0xacbfff:S, 0xacc000-0xaccfff:S, 0xacd000-0xacdfff:S, 0xace000-0xacefff:S, 0xacf000-0xacffff:S, 0xad0000-0xad0fff:S, 0xad1000-0xad1fff:S, 0xad2000-0xad2fff:S, 0xad3000-0xad3fff:S, 0xad4000-0xad4fff:S, 0xad5000-0xad5fff:S, 0xad6000-0xad6fff:S, 0xad7000-0xad7fff:S, 0xad8000-0xad8fff:S, 0xad9000-0xad9fff:S, 0xada000-0xadafff:S, 0xadb000-0xadbfff:S, 0xadc000-0xadcfff:S, 0xadd000-0xaddfff:S, 0xade000-0xadefff:S, 0xadf000-0xadffff:S, 0xae0000-0xae0fff:S, 0xae1000-0xae1fff:S, 0xae2000-0xae2fff:S, 0xae3000-0xae3fff:S, 0xae4000-0xae4fff:S, 0xae5000-0xae5fff:S, 0xae6000-0xae6fff:S, 0xae7000-0xae7fff:S, 0xae8000-0xae8fff:S, 0xae9000-0xae9fff:S, 0xaea000-0xaeafff:S, 0xaeb000-0xaebfff:S, 0xaec000-0xaecfff:S, 0xaed000-0xaedfff:S, 0xaee000-0xaeefff:S, 0xaef000-0xaeffff:S, 0xaf0000-0xaf0fff:S, 0xaf1000-0xaf1fff:S, 0xaf2000-0xaf2fff:S, 0xaf3000-0xaf3fff:S, 0xaf4000-0xaf4fff:S, 0xaf5000-0xaf5fff:S, 0xaf6000-0xaf6fff:S, 0xaf7000-0xaf7fff:S, 0xaf8000-0xaf8fff:S, 0xaf9000-0xaf9fff:S, 0xafa000-0xafafff:S, 0xafb000-0xafbfff:S, 0xafc000-0xafcfff:S, 0xafd000-0xafdfff:S, 0xafe000-0xafefff:S, 0xaff000-0xafffff:S, 0xb00000-0xb00fff:S, 0xb01000-0xb01fff:S, 0xb02000-0xb02fff:S, 0xb03000-0xb03fff:S, 0xb04000-0xb04fff:S, 0xb05000-0xb05fff:S, 0xb06000-0xb06fff:S, 0xb07000-0xb07fff:S, 0xb08000-0xb08fff:S, 0xb09000-0xb09fff:S, 0xb0a000-0xb0afff:S, 0xb0b000-0xb0bfff:S, 0xb0c000-0xb0cfff:S, 0xb0d000-0xb0dfff:S, 0xb0e000-0xb0efff:S, 0xb0f000-0xb0ffff:S, 0xb10000-0xb10fff:S, 0xb11000-0xb11fff:S, 0xb12000-0xb12fff:S, 0xb13000-0xb13fff:S, 0xb14000-0xb14fff:S, 0xb15000-0xb15fff:S, 0xb16000-0xb16fff:S, 0xb17000-0xb17fff:S, 0xb18000-0xb18fff:S, 0xb19000-0xb19fff:S, 0xb1a000-0xb1afff:S, 0xb1b000-0xb1bfff:S, 0xb1c000-0xb1cfff:S, 0xb1d000-0xb1dfff:S, 0xb1e000-0xb1efff:S, 0xb1f000-0xb1ffff:S, 0xb20000-0xb20fff:S, 0xb21000-0xb21fff:S, 0xb22000-0xb22fff:S, 0xb23000-0xb23fff:S, 0xb24000-0xb24fff:S, 0xb25000-0xb25fff:S, 0xb26000-0xb26fff:S, 0xb27000-0xb27fff:S, 0xb28000-0xb28fff:S, 0xb29000-0xb29fff:S, 0xb2a000-0xb2afff:S, 0xb2b000-0xb2bfff:S, 0xb2c000-0xb2cfff:S, 0xb2d000-0xb2dfff:S, 0xb2e000-0xb2efff:S, 0xb2f000-0xb2ffff:S, 0xb30000-0xb30fff:S, 0xb31000-0xb31fff:S, 0xb32000-0xb32fff:S, 0xb33000-0xb33fff:S, 0xb34000-0xb34fff:S, 0xb35000-0xb35fff:S, 0xb36000-0xb36fff:S, 0xb37000-0xb37fff:S, 0xb38000-0xb38fff:S, 0xb39000-0xb39fff:S, 0xb3a000-0xb3afff:S, 0xb3b000-0xb3bfff:S, 0xb3c000-0xb3cfff:S, 0xb3d000-0xb3dfff:S, 0xb3e000-0xb3efff:S, 0xb3f000-0xb3ffff:S, 0xb40000-0xb40fff:S, 0xb41000-0xb41fff:S, 0xb42000-0xb42fff:S, 0xb43000-0xb43fff:S, 0xb44000-0xb44fff:S, 0xb45000-0xb45fff:S, 0xb46000-0xb46fff:S, 0xb47000-0xb47fff:S, 0xb48000-0xb48fff:S, 0xb49000-0xb49fff:S, 0xb4a000-0xb4afff:S, 0xb4b000-0xb4bfff:S, 0xb4c000-0xb4cfff:S, 0xb4d000-0xb4dfff:S, 0xb4e000-0xb4efff:S, 0xb4f000-0xb4ffff:S, 0xb50000-0xb50fff:S, 0xb51000-0xb51fff:S, 0xb52000-0xb52fff:S, 0xb53000-0xb53fff:S, 0xb54000-0xb54fff:S, 0xb55000-0xb55fff:S, 0xb56000-0xb56fff:S, 0xb57000-0xb57fff:S, 0xb58000-0xb58fff:S, 0xb59000-0xb59fff:S, 0xb5a000-0xb5afff:S, 0xb5b000-0xb5bfff:S, 0xb5c000-0xb5cfff:S, 0xb5d000-0xb5dfff:S, 0xb5e000-0xb5efff:S, 0xb5f000-0xb5ffff:S, 0xb60000-0xb60fff:S, 0xb61000-0xb61fff:S, 0xb62000-0xb62fff:S, 0xb63000-0xb63fff:S, 0xb64000-0xb64fff:S, 0xb65000-0xb65fff:S, 0xb66000-0xb66fff:S, 0xb67000-0xb67fff:S, 0xb68000-0xb68fff:S, 0xb69000-0xb69fff:S, 0xb6a000-0xb6afff:S, 0xb6b000-0xb6bfff:S, 0xb6c000-0xb6cfff:S, 0xb6d000-0xb6dfff:S, 0xb6e000-0xb6efff:S, 0xb6f000-0xb6ffff:S, 0xb70000-0xb70fff:S, 0xb71000-0xb71fff:S, 0xb72000-0xb72fff:S, 0xb73000-0xb73fff:S, 0xb74000-0xb74fff:S, 0xb75000-0xb75fff:S, 0xb76000-0xb76fff:S, 0xb77000-0xb77fff:S, 0xb78000-0xb78fff:S, 0xb79000-0xb79fff:S, 0xb7a000-0xb7afff:S, 0xb7b000-0xb7bfff:S, 0xb7c000-0xb7cfff:S, 0xb7d000-0xb7dfff:S, 0xb7e000-0xb7efff:S, 0xb7f000-0xb7ffff:S, 0xb80000-0xb80fff:S, 0xb81000-0xb81fff:S, 0xb82000-0xb82fff:S, 0xb83000-0xb83fff:S, 0xb84000-0xb84fff:S, 0xb85000-0xb85fff:S, 0xb86000-0xb86fff:S, 0xb87000-0xb87fff:S, 0xb88000-0xb88fff:S, 0xb89000-0xb89fff:S, 0xb8a000-0xb8afff:S, 0xb8b000-0xb8bfff:S, 0xb8c000-0xb8cfff:S, 0xb8d000-0xb8dfff:S, 0xb8e000-0xb8efff:S, 0xb8f000-0xb8ffff:S, 0xb90000-0xb90fff:S, 0xb91000-0xb91fff:S, 0xb92000-0xb92fff:S, 0xb93000-0xb93fff:S, 0xb94000-0xb94fff:S, 0xb95000-0xb95fff:S, 0xb96000-0xb96fff:S, 0xb97000-0xb97fff:S, 0xb98000-0xb98fff:S, 0xb99000-0xb99fff:S, 0xb9a000-0xb9afff:S, 0xb9b000-0xb9bfff:S, 0xb9c000-0xb9cfff:S, 0xb9d000-0xb9dfff:S, 0xb9e000-0xb9efff:S, 0xb9f000-0xb9ffff:S, 0xba0000-0xba0fff:S, 0xba1000-0xba1fff:S, 0xba2000-0xba2fff:S, 0xba3000-0xba3fff:S, 0xba4000-0xba4fff:S, 0xba5000-0xba5fff:S, 0xba6000-0xba6fff:S, 0xba7000-0xba7fff:S, 0xba8000-0xba8fff:S, 0xba9000-0xba9fff:S, 0xbaa000-0xbaafff:S, 0xbab000-0xbabfff:S, 0xbac000-0xbacfff:S, 0xbad000-0xbadfff:S, 0xbae000-0xbaefff:S, 0xbaf000-0xbaffff:S, 0xbb0000-0xbb0fff:S, 0xbb1000-0xbb1fff:S, 0xbb2000-0xbb2fff:S, 0xbb3000-0xbb3fff:S, 0xbb4000-0xbb4fff:S, 0xbb5000-0xbb5fff:S, 0xbb6000-0xbb6fff:S, 0xbb7000-0xbb7fff:S, 0xbb8000-0xbb8fff:S, 0xbb9000-0xbb9fff:S, 0xbba000-0xbbafff:S, 0xbbb000-0xbbbfff:S, 0xbbc000-0xbbcfff:S, 0xbbd000-0xbbdfff:S, 0xbbe000-0xbbefff:S, 0xbbf000-0xbbffff:S, 0xbc0000-0xbc0fff:S, 0xbc1000-0xbc1fff:S, 0xbc2000-0xbc2fff:S, 0xbc3000-0xbc3fff:S, 0xbc4000-0xbc4fff:S, 0xbc5000-0xbc5fff:S, 0xbc6000-0xbc6fff:S, 0xbc7000-0xbc7fff:S, 0xbc8000-0xbc8fff:S, 0xbc9000-0xbc9fff:S, 0xbca000-0xbcafff:S, 0xbcb000-0xbcbfff:S, 0xbcc000-0xbccfff:S, 0xbcd000-0xbcdfff:S, 0xbce000-0xbcefff:S, 0xbcf000-0xbcffff:S, 0xbd0000-0xbd0fff:S, 0xbd1000-0xbd1fff:S, 0xbd2000-0xbd2fff:S, 0xbd3000-0xbd3fff:S, 0xbd4000-0xbd4fff:S, 0xbd5000-0xbd5fff:S, 0xbd6000-0xbd6fff:S, 0xbd7000-0xbd7fff:S, 0xbd8000-0xbd8fff:S, 0xbd9000-0xbd9fff:S, 0xbda000-0xbdafff:S, 0xbdb000-0xbdbfff:S, 0xbdc000-0xbdcfff:S, 0xbdd000-0xbddfff:S, 0xbde000-0xbdefff:S, 0xbdf000-0xbdffff:S, 0xbe0000-0xbe0fff:S, 0xbe1000-0xbe1fff:S, 0xbe2000-0xbe2fff:S, 0xbe3000-0xbe3fff:S, 0xbe4000-0xbe4fff:S, 0xbe5000-0xbe5fff:S, 0xbe6000-0xbe6fff:S, 0xbe7000-0xbe7fff:S, 0xbe8000-0xbe8fff:S, 0xbe9000-0xbe9fff:S, 0xbea000-0xbeafff:S, 0xbeb000-0xbebfff:S, 0xbec000-0xbecfff:S, 0xbed000-0xbedfff:S, 0xbee000-0xbeefff:S, 0xbef000-0xbeffff:S, 0xbf0000-0xbf0fff:S, 0xbf1000-0xbf1fff:S, 0xbf2000-0xbf2fff:S, 0xbf3000-0xbf3fff:S, 0xbf4000-0xbf4fff:S, 0xbf5000-0xbf5fff:S, 0xbf6000-0xbf6fff:S, 0xbf7000-0xbf7fff:S, 0xbf8000-0xbf8fff:S, 0xbf9000-0xbf9fff:S, 0xbfa000-0xbfafff:S, 0xbfb000-0xbfbfff:S, 0xbfc000-0xbfcfff:S, 0xbfd000-0xbfdfff:S, 0xbfe000-0xbfefff:S, 0xbff000-0xbfffff:S, 0xc00000-0xc00fff:S, 0xc01000-0xc01fff:S, 0xc02000-0xc02fff:S, 0xc03000-0xc03fff:S, 0xc04000-0xc04fff:S, 0xc05000-0xc05fff:S, 0xc06000-0xc06fff:S, 0xc07000-0xc07fff:S, 0xc08000-0xc08fff:S, 0xc09000-0xc09fff:EErasing 4096 bytes starting at 0xc09000.
HSFC used for block erasing: HSFC: FGO=1, FCYCLE=3, FDBC=63, SME=0
Transaction error between offset 0x00c09000 and 0x00c09fff (= 0x00c09000 + 4095)!
HSFS: FDONE=1, FCERR=1, AEL=0, BERASE=1, SCIP=0, FDOPSS=1, FDV=1, FLOCKDN=1
HSFC: FGO=0, FCYCLE=3, FDBC=63, SME=0
Looking for another erase function.
No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything changed.
Reading 16777216 bytes starting at 0x000000.
Good. It seems nothing was changed.
Writing to the flash chip apparently didn't do anything.
This means we have to add special support for your board, programmer or flash
chip. Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom(a)flashrom.org, thanks!
-------------------------------------------------------------------------------
You may now reboot or simply leave the machine running.
Restoring MMIO space at 0x100b7a8a0
Restoring PCI config space for 00:1f:0 reg 0xdc
1
0
Hi,
Thank you for writing this amazing program. Unfortunately, I didn't keep a
log, but I can report a successful BIOS update on my ASUS P8H77-M PRO
motherboard using flashrom.
Please let me know if I should provide any further information.
(I'm not subscribed to this list).
--
Ankur
1
0
Re: [flashrom] [PATCH 1/2] layout: Add -i <region>[:<file>] support.
by Carl-Daniel Hailfinger Sept. 21, 2013
by Carl-Daniel Hailfinger Sept. 21, 2013
Sept. 21, 2013
Am 19.09.2013 01:29 schrieb Stefan Tauner:
> Add an optional sub-parameter to the -i parameter to allow building the
> image to be written from multiple files. This will also allow regions to
> be read from flash and written to separate image files in a later patch.
> Existing function read_buf_from_file() is refined and reused to read the file.
>
> Document the whole layout handling including the new features a bit better
> and refine wording regarding files, images, layouts and regions as discussed.
>
> Also, finally introduce helpers.c: a module containing utility functions to be
> shared which do not fit elsewhere. The first function to be added is
> unquote_string() which is used throughout this patch.
>
> Abort for non-write operations if a layout file is given.
>
> based on chromiumos'
> d0ea9ed71e7f86bb8e8db2ca7c32a96de25343d8
> Signed-off-by: David Hendricks <dhendrix(a)chromium.org>
> Signed-off-by: Stefan Tauner <stefan.tauner(a)student.tuwien.ac.at>
Counter-proposal for helpers.c, addressing all my complaints:
- The first token must either be completely enclosed in double quotes or
not quoted at all.
- There must be end-of-string or delimiter after the closing quote.
- The first token shall not have stray quotes anywhere.
Function description is yours.
Tested with the following inputs (input/output in single quotes):
# ./unqote ''
Input ''
ret=1
First token '', remaining text ''
# ./unqote '""'
Input '""'
ret=1
First token '', remaining text ''
# ./unqote 'foo'
Input 'foo'
ret=0
First token 'foo', remaining text ''
# ./unqote ' foo '
Input ' foo '
ret=0
First token 'foo', remaining text ''
# ./unqote '"foo"'
Input '"foo"'
ret=0
First token 'foo', remaining text ''
# ./unqote ' "foo" '
Input ' "foo" '
ret=0
First token 'foo', remaining text ' '
# ./unqote ' " foo " '
Input ' " foo " '
ret=0
First token ' foo ', remaining text ' '
# ./unqote 'foo bar'
Input 'foo bar'
ret=0
First token 'foo', remaining text 'bar'
# ./unqote ' foo bar '
Input ' foo bar '
ret=0
First token 'foo', remaining text ' bar '
# ./unqote ' "foo" bar '
Input ' "foo" bar '
ret=0
First token 'foo', remaining text ' bar '
# ./unqote ' "foo bar '
Input ' "foo bar '
ret=-1
Aborting.
# ./unqote ' "foo"" bar '
Input ' "foo"" bar '
ret=-1
Aborting.
# ./unqote ' "foo"""'
Input ' "foo"""'
ret=-1
Aborting.
# ./unqote ' "foo"bar'
Input ' "foo"bar'
ret=-1
Aborting.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006(a)gmx.net>
--- /dev/null 2013-08-19 11:01:03.588011829 +0200
+++ helpers.c 2013-09-20 03:31:28.000000000 +0200
@@ -0,0 +1,86 @@
+/*
+ * This file is part of the flashrom project.
+ *
+ * Copyright (C) 2013 Carl-Daniel Hailfinger
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <string.h>
+
+#include <string.h>
+#include "flash.h"
+
+/** Parse a \em possibly quoted string.
+ *
+ * The function expects \a startp to point to the string to be parsed without a prefix. If the
+ * string starts with a quotation mark it looks for the second one and removes both in-place, if not then it
+ * looks for the first character contained in \a delimiters and ends the wanted string there by replacing the
+ * character with '\0'. If \a delimiters is NULL an empty set is assumed, hence the whole start string equals
+ * the wanted string.
+ *
+ * After returning \a startp will point to a string that is either the first quoted part of the
+ * original string with the quotation marks removed, or the first word of that string before any delimiter.
+ * If \a endp is not NULL it will be set to point to the first character after the parsed string, or to the
+ * '\0' at the end of the string pointed to by \a startp if there are no more subsequent characters.
+ *
+ * @param start Points to the input string.
+ * @param end Is set to the first char following the input string.
+ * @return -1 if a quotation mark is not matched,
+ * 0 on success,
+ * 1 if the parsed string is empty.
+ */
+int unquote_string(char **startp, char **endp, const char *delimiters)
+{
+ size_t len;
+
+ /* Strip leading delimiters. */
+ *startp += strspn(*startp, delimiters);
+
+ /* Check for empty string. */
+ if (strlen(*startp) == 0) {
+ *endp = *startp;
+ return 1;
+ }
+
+ /* Handle unqoted string. */
+ if (**startp != '"') {
+ len = strcspn(*startp, delimiters);
+ /* Check for quotes in the middle. */
+ if (strcspn(*startp, "\"") < len)
+ return -1;
+ /* Check if there is anything after this string. */
+ if (strlen(*startp + len) > 0)
+ *endp = *startp + len + 1;
+ else
+ *endp = *startp + len;
+ (*startp)[len] = '\0';
+ return 0;
+ }
+
+ /* Handle quoted string. */
+ (*startp)++;
+ len = strcspn(*startp, "\"");
+ /* Catch unclosed quotes and closing quotes not followed immediately by delimiter or end-of-string. */
+ if ((*startp)[len] == '\0' || strcspn(*startp + len + 1, delimiters) > 0)
+ return -1;
+ /* Overwrite closing quote. */
+ (*startp)[len] = '\0';
+ *endp = *startp + len + 1;
+ /* Check for empty string. */
+ if (strlen(*startp) == 0)
+ return 1;
+ return 0;
+}
--
http://www.hailfinger.org/
2
2
- Combine enable_flash_ich_4e() and enable_flash_ich_dc() to
enable_flash_ich_fwh().
- Remove unjustified (chipset) name parameters from various
enable_flash_ich* functions.
- Make Poulsbo and Tunnel Creek use generic enables by refining existing
functions to work with them, including everything in ichspi.c.
- Refactor enable_flash_ich_fwh_decode() to be called unconditionally for
all chipsets.
- Add support for Intel Atom Centerton (S12x0).
- Recombine ICH2/3/4/5 to CHIPSET_ICH2345 because we treat them equally
anyway.
- Move spibar handling out of ich_init_spi() into enable_flash_ich_spi()
- Various small cleanups.
Signed-off-by: Stefan Tauner <stefan.tauner(a)student.tuwien.ac.at>
---
Think of the previous patch as a small teaser ;)
I had this for long on my todo list because the atom support was rather
hacky and the whole organization lacked sanity. Kyösti started the
cleanup actually with his IDSEL patches, but there was a myriad of
other things to enhance.
Call graphs
old: http://postimg.org/image/5s0egfdx7/full/
new: http://postimg.org/image/xtefu4j7f/full/
chipset_enable.c | 412 ++++++++++++++++++++++++++-----------------------------
ichspi.c | 61 ++------
programmer.h | 12 +-
3 files changed, 214 insertions(+), 271 deletions(-)
diff --git a/chipset_enable.c b/chipset_enable.c
index c85db73..3fd06fb 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -260,20 +260,44 @@ static int enable_flash_piix4(struct pci_dev *dev, const char *name)
return 0;
}
-/*
- * See ie. page 375 of "Intel I/O Controller Hub 7 (ICH7) Family Datasheet"
- * http://download.intel.com/design/chipsets/datashts/30701303.pdf
- */
-static int enable_flash_ich(struct pci_dev *dev, const char *name, uint8_t bios_cntl)
+/* Note: the ICH0-ICH5 BIOS_CNTL register is actually 16 bit wide, in Poulsbo, Tunnel Creek and other Atom
+ * chipsets/SoCs it is even 32b, but just treating it as 8 bit wide seems to work fine in practice. */
+static int enable_flash_ich_bios_cntl(struct pci_dev *dev, enum ich_chipset ich_generation, uint8_t bios_cntl)
{
uint8_t old, new, wanted;
- /*
- * Note: the ICH0-ICH5 BIOS_CNTL register is actually 16 bit wide, in Tunnel Creek it is even 32b, but
- * just treating it as 8 bit wide seems to work fine in practice.
- */
- wanted = old = pci_read_byte(dev, bios_cntl);
+ switch (ich_generation) {
+ case CHIPSET_ICH_UNKNOWN:
+ return ERROR_FATAL;
+ /* Non-SPI-capable */
+ case CHIPSET_ICH:
+ case CHIPSET_ICH2345:
+ break;
+ /* Atom chipsets are special: The second byte of BIOS_CNTL (D9h) contains a prefetch bit similar to what
+ * other SPI-capable chipsets have at DCh.
+ * The Tunnel Creek datasheet contains a lot of details about the SPI controller, among other things it
+ * mentions that the prefetching and caching does only happen for direct memory reads.
+ * Therefore - at least for Tunnel Creek - it should not matter to flashrom because we use the
+ * programmed access only and not memory mapping. */
+ case CHIPSET_TUNNEL_CREEK:
+ case CHIPSET_POULSBO:
+ case CHIPSET_CENTERTON:
+ old = pci_read_byte(dev, bios_cntl + 1);
+ msg_pdbg("BIOS Prefetch Enable: %sabled, ", (old & 1) ? "en" : "dis");
+ break;
+ case CHIPSET_ICH7:
+ default: /* Future version might behave the same */
+ old = (pci_read_byte(dev, bios_cntl) >> 2) & 0x3;
+ msg_pdbg("SPI Read Configuration: ");
+ if (old == 3)
+ msg_pdbg("invalid prefetching/caching settings, ");
+ else
+ msg_pdbg("prefetching %sabled, caching %sabled, ",
+ (old & 0x2) ? "en" : "dis",
+ (old & 0x1) ? "dis" : "en");
+ }
+ wanted = old = pci_read_byte(dev, bios_cntl);
/*
* Quote from the 6 Series datasheet (Document Number: 324645-004):
* "Bit 5: SMM BIOS Write Protect Disable (SMM_BWP)
@@ -283,11 +307,23 @@ static int enable_flash_ich(struct pci_dev *dev, const char *name, uint8_t bios_
*
* Try to unset it in any case.
* It won't hurt and makes sense in some cases according to Stefan Reinauer.
+ *
+ * At least in Centerton aforementioned bit is located at bit 7. It is unspecified in all other Atom
+ * and Desktop chipsets before Ibex Peak/5 Series, but we reset bit 5 anyway.
*/
- wanted &= ~(1 << 5);
+ int smm_bwp_bit;
+ if (ich_generation == CHIPSET_CENTERTON)
+ smm_bwp_bit = 7;
+ else
+ smm_bwp_bit = 5;
+ wanted &= ~(1 << smm_bwp_bit);
+
+ /* Tunnel Creek has a cache disable at bit 2 of the lowest BIOS_CNTL byte. */
+ if (ich_generation == CHIPSET_TUNNEL_CREEK)
+ wanted |= (1 << 2);
- /* Set BIOS Write Enable */
- wanted |= (1 << 0);
+ wanted |= (1 << 0); /* Set BIOS Write Enable */
+ wanted &= ~(1 << 1); /* Disable lock (futile) */
/* Only write the register if it's necessary */
if (wanted != old) {
@@ -299,76 +335,77 @@ static int enable_flash_ich(struct pci_dev *dev, const char *name, uint8_t bios_
msg_pdbg("\nBIOS_CNTL = 0x%02x: ", new);
msg_pdbg("BIOS Lock Enable: %sabled, ", (new & (1 << 1)) ? "en" : "dis");
msg_pdbg("BIOS Write Enable: %sabled\n", (new & (1 << 0)) ? "en" : "dis");
- if (new & (1 << 5))
+ if (new & (1 << smm_bwp_bit))
msg_pwarn("Warning: BIOS region SMM protection is enabled!\n");
-
if (new != wanted)
- msg_pwarn("Warning: Setting Bios Control at 0x%x from 0x%02x to 0x%02x on %s failed.\n"
- "New value is 0x%02x.\n", bios_cntl, old, wanted, name, new);
+ msg_pwarn("Warning: Setting Bios Control at 0x%x from 0x%02x to 0x%02x failed.\n"
+ "New value is 0x%02x.\n", bios_cntl, old, wanted, new);
- /* Return an error if we could not set the write enable */
+ /* Return an error if we could not set the write enable only. */
if (!(new & (1 << 0)))
return -1;
return 0;
}
-static int enable_flash_ich0(struct pci_dev *dev, const char *name)
-{
- internal_buses_supported = BUS_FWH;
- /* FIXME: Make this use enable_flash_ich_4e() too and add IDSEL support. Unlike later chipsets,
- * ICH and ICH-0 do only support mapping of the top-most 4MB and therefore do only feature
- * FWH_DEC_EN (E3h, different default too) and FWH_SEL (E8h). */
- return enable_flash_ich(dev, name, 0x4e);
-}
-
-static int enable_flash_ich_fwh_decode(struct pci_dev *dev, const char *name, enum ich_chipset ich_generation)
+static int enable_flash_ich_fwh_decode(struct pci_dev *dev, enum ich_chipset ich_generation)
{
- uint32_t fwh_conf;
- uint8_t fwh_sel1, fwh_sel2, fwh_dec_en_lo, fwh_dec_en_hi;
- int i, tmp;
- char *idsel = NULL;
- int max_decode_fwh_idsel = 0, max_decode_fwh_decode = 0;
- int contiguous = 1;
-
- if (ich_generation >= CHIPSET_ICH6) {
- fwh_sel1 = 0xd0;
- fwh_sel2 = 0xd4;
- fwh_dec_en_lo = 0xd8;
- fwh_dec_en_hi = 0xd9;
- } else if (ich_generation >= CHIPSET_ICH2) {
+ uint8_t fwh_sel1 = 0, fwh_sel2 = 0, fwh_dec_en_lo = 0, fwh_dec_en_hi = 0; /* silence compilers */
+ bool implemented = 0;
+ switch (ich_generation) {
+ case CHIPSET_ICH:
+ /* FIXME: Unlike later chipsets, ICH and ICH-0 do only support mapping of the top-most 4MB
+ * and therefore do only feature FWH_DEC_EN (E3h, different default too) and FWH_SEL (E8h). */
+ break;
+ case CHIPSET_ICH2345:
fwh_sel1 = 0xe8;
fwh_sel2 = 0xee;
fwh_dec_en_lo = 0xf0;
fwh_dec_en_hi = 0xe3;
- } else {
- msg_perr("Error: FWH decode setting not implemented.\n");
- return ERROR_FATAL;
+ implemented = 1;
+ break;
+ case CHIPSET_POULSBO:
+ case CHIPSET_TUNNEL_CREEK:
+ /* FIXME: Similar to ICH and ICH-0, Tunnel Creek and Poulsbo do only feature one register each,
+ * FWH_DEC_EN (D7h) and FWH_SEL (D0h). */
+ break;
+ case CHIPSET_CENTERTON:
+ /* FIXME: Similar to above FWH_DEC_EN (D4h) and FWH_SEL (D0h). */
+ break;
+ case CHIPSET_ICH6:
+ case CHIPSET_ICH7:
+ default: /* Future version might behave the same */
+ fwh_sel1 = 0xd0;
+ fwh_sel2 = 0xd4;
+ fwh_dec_en_lo = 0xd8;
+ fwh_dec_en_hi = 0xd9;
+ implemented = 1;
+ break;
}
- idsel = extract_programmer_param("fwh_idsel");
+ char *idsel = extract_programmer_param("fwh_idsel");
if (idsel && strlen(idsel)) {
- uint64_t fwh_idsel_old, fwh_idsel;
+ if (!implemented) {
+ msg_perr("Error: fwh_idsel= specified, but (yet) unsupported on this chipset.\n");
+ goto idsel_garbage_out;
+ }
errno = 0;
/* Base 16, nothing else makes sense. */
- fwh_idsel = (uint64_t)strtoull(idsel, NULL, 16);
+ uint64_t fwh_idsel = (uint64_t)strtoull(idsel, NULL, 16);
if (errno) {
- msg_perr("Error: fwh_idsel= specified, but value could "
- "not be converted.\n");
+ msg_perr("Error: fwh_idsel= specified, but value could not be converted.\n");
goto idsel_garbage_out;
}
if (fwh_idsel & 0xffff000000000000ULL) {
- msg_perr("Error: fwh_idsel= specified, but value had "
- "unused bits set.\n");
+ msg_perr("Error: fwh_idsel= specified, but value had unused bits set.\n");
goto idsel_garbage_out;
}
- fwh_idsel_old = pci_read_long(dev, fwh_sel1);
+ uint64_t fwh_idsel_old = pci_read_long(dev, fwh_sel1);
fwh_idsel_old <<= 16;
fwh_idsel_old |= pci_read_word(dev, fwh_sel2);
- msg_pdbg("\nSetting IDSEL from 0x%012" PRIx64 " to "
- "0x%012" PRIx64 " for top 16 MB.", fwh_idsel_old,
- fwh_idsel);
+ msg_pdbg("\nSetting IDSEL from 0x%012" PRIx64 " to 0x%012" PRIx64 " for top 16 MB.",
+ fwh_idsel_old, fwh_idsel);
rpci_write_long(dev, fwh_sel1, (fwh_idsel >> 16) & 0xffffffff);
rpci_write_word(dev, fwh_sel2, fwh_idsel & 0xffff);
/* FIXME: Decode settings are not changed. */
@@ -380,15 +417,23 @@ idsel_garbage_out:
}
free(idsel);
+ if (!implemented) {
+ msg_pdbg2("FWH IDSEL handling is not implemented on this chipset.");
+ return 0;
+ }
+
/* Ignore all legacy ranges below 1 MB.
* We currently only support flashing the chip which responds to
* IDSEL=0. To support IDSEL!=0, flashbase and decode size calculations
* have to be adjusted.
*/
+ int max_decode_fwh_idsel = 0, max_decode_fwh_decode = 0;
+ bool contiguous = 1;
+ uint32_t fwh_conf = pci_read_long(dev, fwh_sel1);
+ int i;
/* FWH_SEL1 */
- fwh_conf = pci_read_long(dev, fwh_sel1);
for (i = 7; i >= 0; i--) {
- tmp = (fwh_conf >> (i * 4)) & 0xf;
+ int tmp = (fwh_conf >> (i * 4)) & 0xf;
msg_pdbg("\n0x%08x/0x%08x FWH IDSEL: 0x%x",
(0x1ff8 + i) * 0x80000,
(0x1ff0 + i) * 0x80000,
@@ -402,7 +447,7 @@ idsel_garbage_out:
/* FWH_SEL2 */
fwh_conf = pci_read_word(dev, fwh_sel2);
for (i = 3; i >= 0; i--) {
- tmp = (fwh_conf >> (i * 4)) & 0xf;
+ int tmp = (fwh_conf >> (i * 4)) & 0xf;
msg_pdbg("\n0x%08x/0x%08x FWH IDSEL: 0x%x",
(0xff4 + i) * 0x100000,
(0xff0 + i) * 0x100000,
@@ -419,7 +464,7 @@ idsel_garbage_out:
fwh_conf <<= 8;
fwh_conf |= pci_read_byte(dev, fwh_dec_en_lo);
for (i = 7; i >= 0; i--) {
- tmp = (fwh_conf >> (i + 0x8)) & 0x1;
+ int tmp = (fwh_conf >> (i + 0x8)) & 0x1;
msg_pdbg("\n0x%08x/0x%08x FWH decode %sabled",
(0x1ff8 + i) * 0x80000,
(0x1ff0 + i) * 0x80000,
@@ -431,7 +476,7 @@ idsel_garbage_out:
}
}
for (i = 3; i >= 0; i--) {
- tmp = (fwh_conf >> i) & 0x1;
+ int tmp = (fwh_conf >> i) & 0x1;
msg_pdbg("\n0x%08x/0x%08x FWH decode %sabled",
(0xff4 + i) * 0x100000,
(0xff0 + i) * 0x100000,
@@ -448,146 +493,56 @@ idsel_garbage_out:
return 0;
}
-static int enable_flash_ich_4e(struct pci_dev *dev, const char *name, enum ich_chipset ich_generation)
+static int enable_flash_ich_fwh(struct pci_dev *dev, enum ich_chipset ich_generation, uint8_t bios_cntl)
{
int err;
/* Configure FWH IDSEL decoder maps. */
- if ((err = enable_flash_ich_fwh_decode(dev, name, ich_generation)) != 0)
+ if ((err = enable_flash_ich_fwh_decode(dev, ich_generation)) != 0)
return err;
internal_buses_supported = BUS_FWH;
- return enable_flash_ich(dev, name, 0x4e);
+ return enable_flash_ich_bios_cntl(dev, ich_generation, bios_cntl);
}
-static int enable_flash_ich2(struct pci_dev *dev, const char *name)
-{
- return enable_flash_ich_4e(dev, name, CHIPSET_ICH2);
-}
-
-static int enable_flash_ich3(struct pci_dev *dev, const char *name)
-{
- return enable_flash_ich_4e(dev, name, CHIPSET_ICH3);
-}
-
-static int enable_flash_ich4(struct pci_dev *dev, const char *name)
+static int enable_flash_ich0(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_4e(dev, name, CHIPSET_ICH4);
+ return enable_flash_ich_fwh(dev, CHIPSET_ICH, 0x4e);
}
-static int enable_flash_ich5(struct pci_dev *dev, const char *name)
+static int enable_flash_ich2345(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_4e(dev, name, CHIPSET_ICH5);
-}
-
-static int enable_flash_ich_dc(struct pci_dev *dev, const char *name, enum ich_chipset ich_generation)
-{
- int err;
-
- /* Configure FWH IDSEL decoder maps. */
- if ((err = enable_flash_ich_fwh_decode(dev, name, ich_generation)) != 0)
- return err;
-
- /* If we're called by enable_flash_ich_dc_spi, it will override
- * internal_buses_supported anyway.
- */
- internal_buses_supported = BUS_FWH;
- return enable_flash_ich(dev, name, 0xdc);
+ return enable_flash_ich_fwh(dev, CHIPSET_ICH2345, 0x4e);
}
static int enable_flash_ich6(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc(dev, name, CHIPSET_ICH6);
+ return enable_flash_ich_fwh(dev, CHIPSET_ICH6, 0xdc);
}
static int enable_flash_poulsbo(struct pci_dev *dev, const char *name)
{
- uint16_t old, new;
- int err;
-
- if ((err = enable_flash_ich(dev, name, 0xd8)) != 0)
- return err;
-
- old = pci_read_byte(dev, 0xd9);
- msg_pdbg("BIOS Prefetch Enable: %sabled, ",
- (old & 1) ? "en" : "dis");
- new = old & ~1;
-
- if (new != old)
- rpci_write_byte(dev, 0xd9, new);
-
- internal_buses_supported = BUS_FWH;
- return 0;
+ return enable_flash_ich_fwh(dev, CHIPSET_POULSBO, 0xd8);
}
-static int enable_flash_tunnelcreek(struct pci_dev *dev, const char *name)
+static int enable_flash_ich_spi(struct pci_dev *dev, enum ich_chipset ich_generation, uint8_t bios_cntl)
{
- uint16_t old, new;
- uint32_t tmp, bnt;
- void *rcrb;
- int ret;
-
- /* Enable Flash Writes */
- ret = enable_flash_ich(dev, name, 0xd8);
- if (ret == ERROR_FATAL)
- return ret;
-
- /* Make sure BIOS prefetch mechanism is disabled */
- old = pci_read_byte(dev, 0xd9);
- msg_pdbg("BIOS Prefetch Enable: %sabled, ", (old & 1) ? "en" : "dis");
- new = old & ~1;
- if (new != old)
- rpci_write_byte(dev, 0xd9, new);
-
- /* Get physical address of Root Complex Register Block */
- tmp = pci_read_long(dev, 0xf0) & 0xffffc000;
- msg_pdbg("\nRoot Complex Register Block address = 0x%x\n", tmp);
-
- /* Map RCBA to virtual memory */
- rcrb = rphysmap("ICH RCRB", tmp, 0x4000);
- if (rcrb == ERROR_PTR)
- return ERROR_FATAL;
-
- /* Test Boot BIOS Strap Status */
- bnt = mmio_readl(rcrb + 0x3410);
- if (bnt & 0x02) {
- /* If strapped to LPC, no SPI initialization is required */
- internal_buses_supported = BUS_FWH;
- return 0;
- }
-
- /* This adds BUS_SPI */
- if (ich_init_spi(dev, tmp, rcrb, 7) != 0) {
- if (!ret)
- ret = ERROR_NONFATAL;
- }
-
- return ret;
-}
-
-static int enable_flash_ich_dc_spi(struct pci_dev *dev, const char *name,
- enum ich_chipset ich_generation)
-{
- int ret, ret_spi;
- uint8_t bbs, buc;
- uint32_t tmp, gcs;
- void *rcrb;
- const char *const *straps_names;
-
static const char *const straps_names_EP80579[] = { "SPI", "reserved", "reserved", "LPC" };
static const char *const straps_names_ich7_nm10[] = { "reserved", "SPI", "PCI", "LPC" };
+ static const char *const straps_names_tunnel_creek[] = { "SPI", "LPC" };
static const char *const straps_names_ich8910[] = { "SPI", "SPI", "PCI", "LPC" };
static const char *const straps_names_pch567[] = { "LPC", "reserved", "PCI", "SPI" };
static const char *const straps_names_pch8[] = { "LPC", "reserved", "reserved", "SPI" };
- static const char *const straps_names_pch8_lp[] = { "SPI", "LPC", "unknown", "unknown" };
+ static const char *const straps_names_pch8_lp[] = { "SPI", "LPC" };
static const char *const straps_names_unknown[] = { "unknown", "unknown", "unknown", "unknown" };
+ const char *const *straps_names;
switch (ich_generation) {
case CHIPSET_ICH7:
/* EP80579 may need further changes, but this is the least
* intrusive way to get correct BOOT Strap printing without
* changing the rest of its code path). */
- if (strcmp(name, "EP80579") == 0)
+ if (dev->device_id == 0x5031)
straps_names = straps_names_EP80579;
else
straps_names = straps_names_ich7_nm10;
@@ -597,6 +552,9 @@ static int enable_flash_ich_dc_spi(struct pci_dev *dev, const char *name,
case CHIPSET_ICH10:
straps_names = straps_names_ich8910;
break;
+ case CHIPSET_TUNNEL_CREEK:
+ straps_names = straps_names_tunnel_creek;
+ break;
case CHIPSET_5_SERIES_IBEX_PEAK:
case CHIPSET_6_SERIES_COUGAR_POINT:
case CHIPSET_7_SERIES_PANTHER_POINT:
@@ -609,35 +567,33 @@ static int enable_flash_ich_dc_spi(struct pci_dev *dev, const char *name,
straps_names = straps_names_pch8_lp;
break;
case CHIPSET_8_SERIES_WELLSBURG: // FIXME: check datasheet
+ case CHIPSET_CENTERTON: // FIXME: Datasheet does not mention GCS at all
straps_names = straps_names_unknown;
break;
default:
- msg_gerr("%s: unknown ICH generation. Please report!\n",
- __func__);
+ msg_gerr("%s: unknown ICH generation. Please report!\n", __func__);
straps_names = straps_names_unknown;
break;
}
- /* Enable Flash Writes */
- ret = enable_flash_ich_dc(dev, name, ich_generation);
- if (ret == ERROR_FATAL)
- return ret;
-
/* Get physical address of Root Complex Register Block */
- tmp = pci_read_long(dev, 0xf0) & 0xffffc000;
- msg_pdbg("Root Complex Register Block address = 0x%x\n", tmp);
+ uint32_t rcra = pci_read_long(dev, 0xf0) & 0xffffc000;
+ msg_pdbg("Root Complex Register Block address = 0x%x\n", rcra);
/* Map RCBA to virtual memory */
- rcrb = rphysmap("ICH RCRB", tmp, 0x4000);
+ void *rcrb = rphysmap("ICH RCRB", rcra, 0x4000);
if (rcrb == ERROR_PTR)
return ERROR_FATAL;
- gcs = mmio_readl(rcrb + 0x3410);
+ uint32_t gcs = mmio_readl(rcrb + 0x3410);
msg_pdbg("GCS = 0x%x: ", gcs);
- msg_pdbg("BIOS Interface Lock-Down: %sabled, ",
- (gcs & 0x1) ? "en" : "dis");
+ msg_pdbg("BIOS Interface Lock-Down: %sabled, ", (gcs & 0x1) ? "en" : "dis");
+ uint8_t bbs;
switch (ich_generation) {
+ case CHIPSET_TUNNEL_CREEK:
+ bbs = (gcs >> 1) & 0x1;
+ break;
case CHIPSET_8_SERIES_LYNX_POINT_LP:
case CHIPSET_8_SERIES_WELLSBURG: // FIXME: check datasheet
/* Lynx Point LP uses a single bit for GCS */
@@ -650,91 +606,110 @@ static int enable_flash_ich_dc_spi(struct pci_dev *dev, const char *name,
}
msg_pdbg("Boot BIOS Straps: 0x%x (%s)\n", bbs, straps_names[bbs]);
- buc = mmio_readb(rcrb + 0x3414);
- msg_pdbg("Top Swap : %s\n",
- (buc & 1) ? "enabled (A16 inverted)" : "not enabled");
+ if (ich_generation != CHIPSET_TUNNEL_CREEK && ich_generation != CHIPSET_CENTERTON) {
+ uint8_t buc = mmio_readb(rcrb + 0x3414);
+ msg_pdbg("Top Swap : %s\n", (buc & 1) ? "enabled (A16(+) inverted)" : "not enabled");
+ }
+
+ /* Handle FWH-related parameters and initialization */
+ int ret_fwh = enable_flash_ich_fwh(dev, ich_generation, bios_cntl);
+ if (ret_fwh == ERROR_FATAL)
+ return ret_fwh;
- /* It seems the ICH7 does not support SPI and LPC chips at the same
- * time. At least not with our current code. So we prevent searching
- * on ICH7 when the southbridge is strapped to LPC
- */
- internal_buses_supported = BUS_FWH;
- if (ich_generation == CHIPSET_ICH7) {
- if (bbs == 0x03) {
- /* If strapped to LPC, no further SPI initialization is
- * required. */
- return ret;
- } else {
- /* Disable LPC/FWH if strapped to PCI or SPI */
- internal_buses_supported = BUS_NONE;
- }
+ /* SPIBAR is at RCRB+0x3020 for ICH[78], Tunnel Creek and Centerton, and RCRB+0x3800 for ICH9. */
+ uint16_t spibar_offset;
+ switch (ich_generation) {
+ case CHIPSET_ICH_UNKNOWN:
+ return ERROR_FATAL;
+ case CHIPSET_ICH7:
+ case CHIPSET_ICH8:
+ case CHIPSET_TUNNEL_CREEK:
+ case CHIPSET_CENTERTON:
+ spibar_offset = 0x3020;
+ break;
+ case CHIPSET_ICH9:
+ default: /* Future version might behave the same */
+ spibar_offset = 0x3800;
+ break;
}
+ msg_pdbg("SPIBAR = 0x%0*" PRIxPTR " + 0x%04x\n", PRIxPTR_WIDTH, (uintptr_t)rcrb, spibar_offset);
+ void *spibar = rcrb + spibar_offset;
/* This adds BUS_SPI */
- ret_spi = ich_init_spi(dev, tmp, rcrb, ich_generation);
+ int ret_spi = ich_init_spi(dev, spibar, ich_generation);
if (ret_spi == ERROR_FATAL)
return ret_spi;
- if (ret || ret_spi)
- ret = ERROR_NONFATAL;
+ if (ret_fwh || ret_spi)
+ return ERROR_NONFATAL;
- return ret;
+ return 0;
+}
+
+static int enable_flash_tunnelcreek(struct pci_dev *dev, const char *name)
+{
+ return enable_flash_ich_spi(dev, CHIPSET_TUNNEL_CREEK, 0xd8);
+}
+
+static int enable_flash_s12x0(struct pci_dev *dev, const char *name)
+{
+ return enable_flash_ich_spi(dev, CHIPSET_CENTERTON, 0xd8);
}
static int enable_flash_ich7(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_ICH7);
+ return enable_flash_ich_spi(dev, CHIPSET_ICH7, 0xdc);
}
static int enable_flash_ich8(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_ICH8);
+ return enable_flash_ich_spi(dev, CHIPSET_ICH8, 0xdc);
}
static int enable_flash_ich9(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_ICH9);
+ return enable_flash_ich_spi(dev, CHIPSET_ICH9, 0xdc);
}
static int enable_flash_ich10(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_ICH10);
+ return enable_flash_ich_spi(dev, CHIPSET_ICH10, 0xdc);
}
/* Ibex Peak aka. 5 series & 3400 series */
static int enable_flash_pch5(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_5_SERIES_IBEX_PEAK);
+ return enable_flash_ich_spi(dev, CHIPSET_5_SERIES_IBEX_PEAK, 0xdc);
}
/* Cougar Point aka. 6 series & c200 series */
static int enable_flash_pch6(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_6_SERIES_COUGAR_POINT);
+ return enable_flash_ich_spi(dev, CHIPSET_6_SERIES_COUGAR_POINT, 0xdc);
}
/* Panther Point aka. 7 series */
static int enable_flash_pch7(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_7_SERIES_PANTHER_POINT);
+ return enable_flash_ich_spi(dev, CHIPSET_7_SERIES_PANTHER_POINT, 0xdc);
}
/* Lynx Point aka. 8 series */
static int enable_flash_pch8(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_8_SERIES_LYNX_POINT);
+ return enable_flash_ich_spi(dev, CHIPSET_8_SERIES_LYNX_POINT, 0xdc);
}
-/* Lynx Point aka. 8 series low-power */
+/* Lynx Point LP aka. 8 series low-power */
static int enable_flash_pch8_lp(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_8_SERIES_LYNX_POINT_LP);
+ return enable_flash_ich_spi(dev, CHIPSET_8_SERIES_LYNX_POINT_LP, 0xdc);
}
/* Wellsburg (for Haswell-EP Xeons) */
static int enable_flash_pch8_wb(struct pci_dev *dev, const char *name)
{
- return enable_flash_ich_dc_spi(dev, name, CHIPSET_8_SERIES_WELLSBURG);
+ return enable_flash_ich_spi(dev, CHIPSET_8_SERIES_WELLSBURG, 0xdc);
}
static int via_no_byte_merge(struct pci_dev *dev, const char *name)
@@ -1503,6 +1478,7 @@ const struct penable chipset_enables[] = {
{0x1166, 0x0200, OK, "Broadcom", "OSB4", enable_flash_osb4},
{0x1166, 0x0205, OK, "Broadcom", "HT-1000", enable_flash_ht1000},
{0x17f3, 0x6030, OK, "RDC", "R8610/R3210", enable_flash_rdc_r8610},
+ {0x8086, 0x0c60, NT, "Intel", "S12x0", enable_flash_s12x0},
{0x8086, 0x122e, OK, "Intel", "PIIX", enable_flash_piix4},
{0x8086, 0x1234, NT, "Intel", "MPIIX", enable_flash_piix4},
{0x8086, 0x1c44, OK, "Intel", "Z68", enable_flash_pch6},
@@ -1541,15 +1517,15 @@ const struct penable chipset_enables[] = {
{0x8086, 0x2390, NT, "Intel", "Coleto Creek", enable_flash_pch7},
{0x8086, 0x2410, OK, "Intel", "ICH", enable_flash_ich0},
{0x8086, 0x2420, OK, "Intel", "ICH0", enable_flash_ich0},
- {0x8086, 0x2440, OK, "Intel", "ICH2", enable_flash_ich2},
- {0x8086, 0x244c, OK, "Intel", "ICH2-M", enable_flash_ich2},
- {0x8086, 0x2450, NT, "Intel", "C-ICH", enable_flash_ich2},
- {0x8086, 0x2480, OK, "Intel", "ICH3-S", enable_flash_ich3},
- {0x8086, 0x248c, OK, "Intel", "ICH3-M", enable_flash_ich3},
- {0x8086, 0x24c0, OK, "Intel", "ICH4/ICH4-L", enable_flash_ich4},
- {0x8086, 0x24cc, OK, "Intel", "ICH4-M", enable_flash_ich4},
- {0x8086, 0x24d0, OK, "Intel", "ICH5/ICH5R", enable_flash_ich5},
- {0x8086, 0x25a1, OK, "Intel", "6300ESB", enable_flash_ich5},
+ {0x8086, 0x2440, OK, "Intel", "ICH2", enable_flash_ich2345},
+ {0x8086, 0x244c, OK, "Intel", "ICH2-M", enable_flash_ich2345},
+ {0x8086, 0x2450, NT, "Intel", "C-ICH", enable_flash_ich2345},
+ {0x8086, 0x2480, OK, "Intel", "ICH3-S", enable_flash_ich2345},
+ {0x8086, 0x248c, OK, "Intel", "ICH3-M", enable_flash_ich2345},
+ {0x8086, 0x24c0, OK, "Intel", "ICH4/ICH4-L", enable_flash_ich2345},
+ {0x8086, 0x24cc, OK, "Intel", "ICH4-M", enable_flash_ich2345},
+ {0x8086, 0x24d0, OK, "Intel", "ICH5/ICH5R", enable_flash_ich2345},
+ {0x8086, 0x25a1, OK, "Intel", "6300ESB", enable_flash_ich2345},
{0x8086, 0x2640, OK, "Intel", "ICH6/ICH6R", enable_flash_ich6},
{0x8086, 0x2641, OK, "Intel", "ICH6-M", enable_flash_ich6},
{0x8086, 0x2642, NT, "Intel", "ICH6W/ICH6RW", enable_flash_ich6},
diff --git a/ichspi.c b/ichspi.c
index 1dcff5b..6c394db 100644
--- a/ichspi.c
+++ b/ichspi.c
@@ -466,6 +466,8 @@ static int generate_opcodes(OPCODES * op)
switch (ich_generation) {
case CHIPSET_ICH7:
+ case CHIPSET_TUNNEL_CREEK:
+ case CHIPSET_CENTERTON:
preop = REGREAD16(ICH7_REG_PREOP);
optype = REGREAD16(ICH7_REG_OPTYPE);
opmenu[0] = REGREAD32(ICH7_REG_OPMENU);
@@ -529,7 +531,7 @@ static int program_opcodes(OPCODES *op, int enable_undo)
opmenu[0] |= ((uint32_t) op->opcode[a].opcode) << (a * 8);
}
- /*Program Allowable Opcodes 4 - 7 */
+ /* Program Allowable Opcodes 4 - 7 */
opmenu[1] = 0;
for (a = 4; a < 8; a++) {
opmenu[1] |= ((uint32_t) op->opcode[a].opcode) << ((a - 4) * 8);
@@ -538,6 +540,8 @@ static int program_opcodes(OPCODES *op, int enable_undo)
msg_pdbg2("\n%s: preop=%04x optype=%04x opmenu=%08x%08x\n", __func__, preop, optype, opmenu[0], opmenu[1]);
switch (ich_generation) {
case CHIPSET_ICH7:
+ case CHIPSET_TUNNEL_CREEK:
+ case CHIPSET_CENTERTON:
/* Register undo only for enable_undo=1, i.e. first call. */
if (enable_undo) {
rmmio_valw(ich_spibar + ICH7_REG_PREOP);
@@ -603,6 +607,8 @@ static void ich_set_bbar(uint32_t min_addr)
int bbar_off;
switch (ich_generation) {
case CHIPSET_ICH7:
+ case CHIPSET_TUNNEL_CREEK:
+ case CHIPSET_CENTERTON:
bbar_off = 0x50;
break;
case CHIPSET_ICH8:
@@ -975,6 +981,8 @@ static int run_opcode(const struct flashctx *flash, OPCODE op, uint32_t offset,
switch (ich_generation) {
case CHIPSET_ICH7:
+ case CHIPSET_TUNNEL_CREEK:
+ case CHIPSET_CENTERTON:
return ich7_run_opcode(op, offset, datalength, data, maxlength);
case CHIPSET_ICH8:
default: /* Future version might behave the same */
@@ -1545,12 +1553,10 @@ static const struct opaque_programmer opaque_programmer_ich_hwseq = {
.erase = ich_hwseq_block_erase,
};
-int ich_init_spi(struct pci_dev *dev, uint32_t base, void *rcrb,
- enum ich_chipset ich_gen)
+int ich_init_spi(struct pci_dev *dev, void *spibar, enum ich_chipset ich_gen)
{
int i;
- uint8_t old, new;
- uint16_t spibar_offset, tmp2;
+ uint16_t tmp2;
uint32_t tmp;
char *arg;
int ich_spi_force = 0;
@@ -1564,42 +1570,18 @@ int ich_init_spi(struct pci_dev *dev, uint32_t base, void *rcrb,
} ich_spi_mode = ich_auto;
ich_generation = ich_gen;
-
- switch (ich_generation) {
- case CHIPSET_ICH_UNKNOWN:
- return ERROR_FATAL;
- case CHIPSET_ICH7:
- case CHIPSET_ICH8:
- spibar_offset = 0x3020;
- break;
- case CHIPSET_ICH9:
- default: /* Future version might behave the same */
- spibar_offset = 0x3800;
- break;
- }
-
- /* SPIBAR is at RCRB+0x3020 for ICH[78] and RCRB+0x3800 for ICH9. */
- msg_pdbg("SPIBAR = 0x%x + 0x%04x\n", base, spibar_offset);
-
- /* Assign Virtual Address */
- ich_spibar = rcrb + spibar_offset;
+ ich_spibar = spibar;
switch (ich_generation) {
case CHIPSET_ICH7:
+ case CHIPSET_TUNNEL_CREEK:
+ case CHIPSET_CENTERTON:
msg_pdbg("0x00: 0x%04x (SPIS)\n",
mmio_readw(ich_spibar + 0));
msg_pdbg("0x02: 0x%04x (SPIC)\n",
mmio_readw(ich_spibar + 2));
msg_pdbg("0x04: 0x%08x (SPIA)\n",
mmio_readl(ich_spibar + 4));
- for (i = 0; i < 8; i++) {
- int offs;
- offs = 8 + (i * 8);
- msg_pdbg("0x%02x: 0x%08x (SPID%d)\n", offs,
- mmio_readl(ich_spibar + offs), i);
- msg_pdbg("0x%02x: 0x%08x (SPID%d+4)\n", offs + 4,
- mmio_readl(ich_spibar + offs + 4), i);
- }
ichspi_bbar = mmio_readl(ich_spibar + 0x50);
msg_pdbg("0x50: 0x%08x (BBAR)\n",
ichspi_bbar);
@@ -1811,21 +1793,6 @@ int ich_init_spi(struct pci_dev *dev, uint32_t base, void *rcrb,
break;
}
- old = pci_read_byte(dev, 0xdc);
- msg_pdbg("SPI Read Configuration: ");
- new = (old >> 2) & 0x3;
- switch (new) {
- case 0:
- case 1:
- case 2:
- msg_pdbg("prefetching %sabled, caching %sabled, ",
- (new & 0x2) ? "en" : "dis",
- (new & 0x1) ? "dis" : "en");
- break;
- default:
- msg_pdbg("invalid prefetching/caching settings, ");
- break;
- }
return 0;
}
diff --git a/programmer.h b/programmer.h
index ef96c9e..0c51f58 100644
--- a/programmer.h
+++ b/programmer.h
@@ -557,11 +557,12 @@ int register_spi_programmer(const struct spi_programmer *programmer);
/* The following enum is needed by ich_descriptor_tool and ich* code as well as in chipset_enable.c. */
enum ich_chipset {
CHIPSET_ICH_UNKNOWN,
- CHIPSET_ICH2 = 2,
- CHIPSET_ICH3,
- CHIPSET_ICH4,
- CHIPSET_ICH5,
+ CHIPSET_ICH,
+ CHIPSET_ICH2345,
CHIPSET_ICH6,
+ CHIPSET_POULSBO, /* SCH U* */
+ CHIPSET_TUNNEL_CREEK, /* Atom E6xx */
+ CHIPSET_CENTERTON, /* Atom S1220 S1240 S1260 */
CHIPSET_ICH7,
CHIPSET_ICH8,
CHIPSET_ICH9,
@@ -577,8 +578,7 @@ enum ich_chipset {
/* ichspi.c */
#if CONFIG_INTERNAL == 1
extern uint32_t ichspi_bbar;
-int ich_init_spi(struct pci_dev *dev, uint32_t base, void *rcrb,
- enum ich_chipset ich_generation);
+int ich_init_spi(struct pci_dev *dev, void *spibar, enum ich_chipset ich_generation);
int via_init_spi(struct pci_dev *dev, uint32_t mmio_base);
/* amd_imc.c */
--
Kind regards, Stefan Tauner
1
0