mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-15 10:17:20 +00:00
- splhigh()/splx() -> critical_enter()/critical_exit()
- fix KV macro in t2_pci.c to include the sable_lynx_base variable so that the T2 CSRs can be found on lynxes. Current should be bootable on lynxes now.
This commit is contained in:
parent
226d92f1b0
commit
e47b20bee2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=85263
@ -118,14 +118,14 @@ t2_set_hae_mem(void *arg, u_int32_t pa)
|
||||
msb = pa & 0xf8000000;
|
||||
pa -= msb;
|
||||
msb >>= 27; /* t2 puts high bits in the bottom of the register */
|
||||
s = splhigh();
|
||||
s = critical_enter();
|
||||
if (msb != t2_hae_mem[hose]) {
|
||||
t2_hae_mem[hose] = msb;
|
||||
t2_csr[hose]->hae0_1 = t2_hae_mem[hose];
|
||||
alpha_mb();
|
||||
t2_hae_mem[hose] = t2_csr[hose]->hae0_1;
|
||||
}
|
||||
splx(s);
|
||||
critical_exit(s);
|
||||
}
|
||||
return pa;
|
||||
}
|
||||
|
@ -44,7 +44,7 @@
|
||||
#include "alphapci_if.h"
|
||||
#include "pcib_if.h"
|
||||
|
||||
#define KV(pa) ALPHA_PHYS_TO_K0SEG(pa)
|
||||
#define KV(pa) ALPHA_PHYS_TO_K0SEG((pa) + sable_lynx_base)
|
||||
|
||||
static devclass_t pcib_devclass;
|
||||
|
||||
@ -92,7 +92,7 @@ t2_pcib_maxslots(device_t dev)
|
||||
|
||||
#define T2_TYPE1_SETUP(b,s,old_hae3) if((b)) { \
|
||||
do { \
|
||||
(s) = splhigh(); \
|
||||
(s) = critical_enter(); \
|
||||
(old_hae3) = REGVAL(T2_HAE0_3); \
|
||||
alpha_mb(); \
|
||||
REGVAL(T2_HAE0_3) = (old_hae3) | (1<<30); \
|
||||
@ -105,7 +105,7 @@ t2_pcib_maxslots(device_t dev)
|
||||
alpha_mb(); \
|
||||
REGVAL(T2_HAE0_3) = (old_hae3); \
|
||||
alpha_mb(); \
|
||||
splx((s)); \
|
||||
critical_exit((s)); \
|
||||
} while(0); \
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user