summaryrefslogtreecommitdiff
path: root/kern/tru64
diff options
context:
space:
mode:
Diffstat (limited to 'kern/tru64')
-rw-r--r--kern/tru64/tru64_system.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/kern/tru64/tru64_system.cc b/kern/tru64/tru64_system.cc
index 0717bcbbe..ebd78c58b 100644
--- a/kern/tru64/tru64_system.cc
+++ b/kern/tru64/tru64_system.cc
@@ -125,6 +125,20 @@ Tru64System::Tru64System(const string _name, const uint64_t _init_param,
strcpy(osflags, boot_osflags.c_str());
}
+ if (consoleSymtab->findAddress("xxm_rpb", addr)) {
+ Addr paddr = vtophys(physmem, addr);
+ char *hwprb = (char *)physmem->dma_addr(paddr, sizeof(uint64_t));
+
+ if (hwprb) {
+ *(uint64_t*)(hwprb+0x50) = 12; // Tlaser
+ *(uint64_t*)(hwprb+0x58) = (2<<1);
+ }
+ else
+ panic("could not translate hwprb addr to set system type/variation\n");
+ } else
+ panic("could not find hwprb to set system type/variation\n");
+
+
#ifdef DEBUG
if (kernelSymtab->findAddress("panic", addr))
kernelPanicEvent->schedule(addr);