Bernd Walter writes:
>
> trap entry = 0x2 (memory management fault)
> a0 = 0xfffffbf1e0000018
> a1 = 0x1
> a2 = 0x0
> pc = 0xfffffc0000557a10
> ra = 0xfffffc000055791c
> curproc = 0xfffffc000062f118
> pid = 0, comm = swapper
Bernd,
Note the faulting address. It is not a k0seg address. This means
something went negative, most likely in the LCA_CFGOFF macro. Here's
why..
After Doug's busspace changes, the *pcib_{read,write}_config()
functions were introduced. They take signed args and pass them to the
CFGOFF macro. Previously, the arguments to the LCA_CFGOFF macro were
provided by the lca_cfg{read,write}{b,w,l} functions and were
unsigned.
Can you try the following patch (after backing yours out). A similar
patch fixes the same problem on an AlphaServer 2100. I'd like to fix
this in all the pcib_{read,write}_config functions at once...
Cheers,
Drew
Index: lca_pci.c
===================================================================
RCS file: /home/ncvs/src/sys/alpha/pci/lca_pci.c,v
retrieving revision 1.7
diff -u -r1.7 lca_pci.c
--- lca_pci.c 2000/08/31 16:19:27 1.7
+++ lca_pci.c 2000/11/29 19:39:27
@@ -130,8 +130,8 @@
} while (0)
u_int32_t
-lca_pcib_read_config(device_t dev, int b, int s, int f,
- int reg, int width)
+lca_pcib_read_config(device_t dev, u_int b, u_int s, u_int f,
+ u_int reg, int width)
{
switch (width) {
case 1:
@@ -147,8 +147,8 @@
}
static void
-lca_pcib_write_config(device_t dev, int b, int s, int f,
- int reg, u_int32_t val, int width)
+lca_pcib_write_config(device_t dev, u_int b, u_int s, u_int f,
+ u_int reg, u_int32_t val, int width)
{
switch (width) {
case 1:
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message