So it turns outthe HP engineers changed the PA-RISC 2.0 architecture
authorkettenis <kettenis@openbsd.org>
Wed, 23 Jul 2008 17:39:35 +0000 (17:39 +0000)
committerkettenis <kettenis@openbsd.org>
Wed, 23 Jul 2008 17:39:35 +0000 (17:39 +0000)
after it was published.  In particular, they changed the maximum cache
aliasing boundary from 1MB to 16MB.

It turns that on the PA-8700 the aliasing boundary is actually 4MB
(reported as such by the firmware at least).  There are some comments
in the Linux code that suggest that HP never actually built PA-RISC
CPUs with an 8MB or 16MB aliasing boundary.

So raise the aliasing boundary to 4MB.  This fixes the weird ps(1) problem
where it didn't print its own arguments correctly.

sys/arch/hppa/include/cpu.h

index d80bae1..243855f 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: cpu.h,v 1.54 2008/07/18 23:43:31 art Exp $    */
+/*     $OpenBSD: cpu.h,v 1.55 2008/07/23 17:39:35 kettenis Exp $       */
 
 /*
  * Copyright (c) 2000-2004 Michael Shalayeff
@@ -124,9 +124,9 @@ extern register_t kpsw;
  * Exported definitions unique to hp700/PA-RISC cpu support.
  */
 
-#define        HPPA_PGALIAS    0x00100000
-#define        HPPA_PGAMASK    0xfff00000
-#define        HPPA_PGAOFF     0x000fffff
+#define        HPPA_PGALIAS    0x00400000
+#define        HPPA_PGAMASK    0xffc00000
+#define        HPPA_PGAOFF     0x003fffff
 
 #define        HPPA_IOBEGIN    0xf0000000
 #define        HPPA_IOLEN      0x10000000