[SerialICE] Patch set updated for serialice: 03bea52 Treat PnP devices as fixed IO
Kyösti Mälkki (kyosti.malkki@gmail.com)
gerrit at coreboot.org
Wed Mar 6 20:21:31 CET 2013
Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2577
-gerrit
commit 03bea525ad9c9fa3b5b0c8ffb83717d454fd1cbf
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date: Sun Mar 3 19:02:29 2013 +0200
Treat PnP devices as fixed IO
Usually these ISA/LPC devices are discussed using fixed I/O
addresses so change the log output.
In example below, superio 2e:05 IO base registers for keyboard
are programmed with 0x60 and 0x64 and that effectively
disables the i8042 filter. We explicitly prevent this pair
of addresses from being treated as PnP device.
0028.0029 RH.. [0000:0000] IO,i8042: outb 0064 <= d1
0028.002a RH.. [0000:0000] IO,i8042: inb 0064 => 11
0028.002b .H.. [0000:0000] i8042: A20 enabled
0028.002b RH.. [0000:0000] IO,i8042: outb 0060 <= df
0028.002c RH.. [0000:0000] IO,i8042: inb 0064 => 11
...
0000.0000 I... [0000:0000] Resource: [0033] IO [0060-0060] = PnP 2e:05
0000.0000 I... [0000:0000] Resource: [0034] IO [0064-0064] = PnP 2e:05
...
0706.0707 .H.. [0000:0000] PnP 2e:05: [0000] <= d1
0706.0708 .H.. [0000:0000] PnP 2e:05: [0000] => ff
0709.070a .H.. [0000:0000] PnP 2e:05: [0000] <= df
070b.070c .H.. [0000:0000] PnP 2e:05: [0000] => ff
Change-Id: Ibec34fe656dea9efd22ab4530ef9efb99c9c665d
Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
SerialICE/simba/pc80.lua | 1 +
SerialICE/simba/superio.lua | 14 ++++++++++----
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/SerialICE/simba/pc80.lua b/SerialICE/simba/pc80.lua
index 7ce439c..a9f4f0c 100644
--- a/SerialICE/simba/pc80.lua
+++ b/SerialICE/simba/pc80.lua
@@ -323,6 +323,7 @@ end
filter_i8042 = {
id = -1,
+ decode = F_FIXED,
name = "i8042",
pre = i8042_pre,
post = i8042_post,
diff --git a/SerialICE/simba/superio.lua b/SerialICE/simba/superio.lua
index 1248af5..7f6210c 100644
--- a/SerialICE/simba/superio.lua
+++ b/SerialICE/simba/superio.lua
@@ -62,8 +62,11 @@ function superio_try_enable_io(f, idx)
if not ldn.bar0.name then
ldn.bar0.name = superio_pnpdev(f)
end
- ldn.bar0.val = iobase
- generic_io_bar(ldn.bar0)
+ if iobase ~= 0x60 then
+ ldn.bar0.val = iobase
+ generic_io_bar(ldn.bar0)
+ ldn.bar0.f.decode = F_FIXED
+ end
end
if idx == 1 and ldn.set[0x62] and ldn.set[0x63] then
local iobase = bit32.bor(bit32.lshift(ldn.data[0x62], 8), ldn.data[0x63])
@@ -73,8 +76,11 @@ function superio_try_enable_io(f, idx)
if not ldn.bar1.name then
ldn.bar1.name = superio_pnpdev(f)
end
- ldn.bar1.val = iobase
- generic_io_bar(ldn.bar1)
+ if iobase ~= 0x64 then
+ ldn.bar1.val = iobase
+ generic_io_bar(ldn.bar1)
+ ldn.bar1.f.decode = F_FIXED
+ end
end
end
end
More information about the SerialICE
mailing list