diff --exclude=stand --exclude=CVS --exclude='obj.*' --exclude=compile -uNr src.orig/sys/arch/hpc/conf/platid.def src/sys/arch/hpc/conf/platid.def
--- src.orig/sys/arch/hpc/conf/platid.def	2009-01-30 06:34:08.000000000 +0900
+++ src/sys/arch/hpc/conf/platid.def	2009-01-30 06:23:47.000000000 +0900
@@ -166,8 +166,9 @@
 #endif /* hpcsh */
 }
 
-#ifdef hpcmips
+#if defined(hpcmips) || defined(hpcarm)
 Sharp {
+#if defined(hpcmips)
   Tripad {
     PV {
       CPU=MIPS_VR_4111 PV6000
@@ -191,8 +192,19 @@
       CPU=MIPS_TX_3912 HC1200
     }
   }
-}
 #endif /* hpcmips */
+#if defined(hpcarm)
+  WZERO3 {
+    CPU=ARM_XSCALE_PXA270
+    WS003SH -" W-ZERO3 (WS003SH)"
+    WS004SH -" W-ZERO3 (WS004SH)"
+    WS007SH -" W-ZERO3[es] (WS007SH)"
+    WS011SH -" Advanced/W-ZERO3[es] (WS011SH)"
+    WS020SH -" WILLCOM 03 (WS020SH)"
+  }
+#endif /* hpcarm */
+}
+#endif /* hpcmips || hpcarm */
 
 #ifdef hpcmips
 Fujitsu {
diff --exclude=stand --exclude=CVS --exclude='obj.*' --exclude=compile -uNr src.orig/sys/arch/hpc/hpc/platid_mask.c src/sys/arch/hpc/hpc/platid_mask.c
--- src.orig/sys/arch/hpc/hpc/platid_mask.c	2009-01-30 06:34:08.000000000 +0900
+++ src/sys/arch/hpc/hpc/platid_mask.c	2009-01-30 06:31:10.000000000 +0900
@@ -1,4 +1,4 @@
-/*	$NetBSD: platid_mask.c,v 1.23 2009/01/29 21:26:14 nonaka Exp $	*/
+/*	$NetBSD: $	*/
 
 /*-
  * Copyright (c) 1999-2001
@@ -400,11 +400,12 @@
 	PLATID_MACH_CASIO_CASSIOPEIAA_A55V
 }};
 #endif /* hpcsh */
-#ifdef hpcmips
+#if defined(hpcmips) || defined(hpcarm)
 platid_t platid_mask_MACH_SHARP = {{
 	PLATID_WILD,
 	PLATID_MACH_SHARP
 }};
+#if defined(hpcmips)
 platid_t platid_mask_MACH_SHARP_TRIPAD = {{
 	PLATID_WILD,
 	PLATID_MACH_SHARP_TRIPAD
@@ -466,6 +467,33 @@
 	PLATID_MACH_SHARP_MOBILON_HC1200
 }};
 #endif /* hpcmips */
+#if defined(hpcarm)
+platid_t platid_mask_MACH_SHARP_WZERO3 = {{
+	PLATID_WILD,
+	PLATID_MACH_SHARP_WZERO3
+}};
+platid_t platid_mask_MACH_SHARP_WZERO3_WS003SH = {{
+	PLATID_CPU_ARM_XSCALE_PXA270,
+	PLATID_MACH_SHARP_WZERO3_WS003SH
+}};
+platid_t platid_mask_MACH_SHARP_WZERO3_WS004SH = {{
+	PLATID_CPU_ARM_XSCALE_PXA270,
+	PLATID_MACH_SHARP_WZERO3_WS004SH
+}};
+platid_t platid_mask_MACH_SHARP_WZERO3_WS007SH = {{
+	PLATID_CPU_ARM_XSCALE_PXA270,
+	PLATID_MACH_SHARP_WZERO3_WS007SH
+}};
+platid_t platid_mask_MACH_SHARP_WZERO3_WS011SH = {{
+	PLATID_CPU_ARM_XSCALE_PXA270,
+	PLATID_MACH_SHARP_WZERO3_WS011SH
+}};
+platid_t platid_mask_MACH_SHARP_WZERO3_WS020SH = {{
+	PLATID_CPU_ARM_XSCALE_PXA270,
+	PLATID_MACH_SHARP_WZERO3_WS020SH
+}};
+#endif /* hpcarm */
+#endif /* hpcmips || hpcarm */
 #ifdef hpcmips
 platid_t platid_mask_MACH_FUJITSU = {{
 	PLATID_WILD,
diff --exclude=stand --exclude=CVS --exclude='obj.*' --exclude=compile -uNr src.orig/sys/arch/hpc/hpc/platid_name.c src/sys/arch/hpc/hpc/platid_name.c
--- src.orig/sys/arch/hpc/hpc/platid_name.c	2009-01-30 06:34:08.000000000 +0900
+++ src/sys/arch/hpc/hpc/platid_name.c	2009-01-30 06:31:10.000000000 +0900
@@ -1,4 +1,4 @@
-/*	$NetBSD: platid_name.c,v 1.23 2009/01/29 21:20:42 nonaka Exp $	*/
+/*	$NetBSD: $	*/
 
 /*-
  * Copyright (c) 1999-2001
@@ -227,9 +227,10 @@
 	{ &platid_mask_MACH_CASIO_CASSIOPEIAA_A55V,
 	 TEXT("CASIO Cassiopeia A-55V") },
 #endif /* hpcsh */
-#ifdef hpcmips
+#if defined(hpcmips) || defined(hpcarm)
 	{ &platid_mask_MACH_SHARP,
 	 TEXT("Sharp") },
+#if defined(hpcmips)
 	{ &platid_mask_MACH_SHARP_TRIPAD,
 	 TEXT("Sharp Tripad") },
 	{ &platid_mask_MACH_SHARP_TRIPAD_PV,
@@ -261,6 +262,21 @@
 	{ &platid_mask_MACH_SHARP_MOBILON_HC1200,
 	 TEXT("Sharp Mobilon HC1200") },
 #endif /* hpcmips */
+#if defined(hpcarm)
+	{ &platid_mask_MACH_SHARP_WZERO3,
+	 TEXT("Sharp WZERO3") },
+	{ &platid_mask_MACH_SHARP_WZERO3_WS003SH,
+	 TEXT("Sharp W-ZERO3 (WS003SH)") },
+	{ &platid_mask_MACH_SHARP_WZERO3_WS004SH,
+	 TEXT("Sharp W-ZERO3 (WS004SH)") },
+	{ &platid_mask_MACH_SHARP_WZERO3_WS007SH,
+	 TEXT("Sharp W-ZERO3[es] (WS007SH)") },
+	{ &platid_mask_MACH_SHARP_WZERO3_WS011SH,
+	 TEXT("Sharp Advanced/W-ZERO3[es] (WS011SH)") },
+	{ &platid_mask_MACH_SHARP_WZERO3_WS020SH,
+	 TEXT("Sharp WILLCOM 03 (WS020SH)") },
+#endif /* hpcarm */
+#endif /* hpcmips || hpcarm */
 #ifdef hpcmips
 	{ &platid_mask_MACH_FUJITSU,
 	 TEXT("Fujitsu") },
diff --exclude=stand --exclude=CVS --exclude='obj.*' --exclude=compile -uNr src.orig/sys/arch/hpc/include/platid_generated.h src/sys/arch/hpc/include/platid_generated.h
--- src.orig/sys/arch/hpc/include/platid_generated.h	2009-01-30 06:34:08.000000000 +0900
+++ src/sys/arch/hpc/include/platid_generated.h	2009-01-30 06:31:10.000000000 +0900
@@ -1,4 +1,4 @@
-/*	$NetBSD: platid_generated.h,v 1.23 2009/01/29 21:20:42 nonaka Exp $	*/
+/*	$NetBSD: $	*/
 
 /*-
  * Copyright (c) 1999-2001
@@ -560,13 +560,14 @@
   ((PLATID_MACH_CASIO_CASSIOPEIAA_A55V_NUM << PLATID_SUBMODEL_SHIFT)| \
     PLATID_MACH_CASIO_CASSIOPEIAA_AXX)
 #endif /* hpcsh */
-#ifdef hpcmips
+#if defined(hpcmips) || defined(hpcarm)
 #ifndef SPEC_PLATFORM
 #define SPEC_MACH_SHARP
 #endif /* !SPEC_PLATFORM */
 #define PLATID_MACH_SHARP_NUM	4
 #define PLATID_MACH_SHARP	\
   ((PLATID_MACH_SHARP_NUM << PLATID_VENDOR_SHIFT))
+#if defined(hpcmips)
 #ifndef SPEC_PLATFORM
 #define SPEC_MACH_SHARP_TRIPAD
 #endif /* !SPEC_PLATFORM */
@@ -673,6 +674,51 @@
   ((PLATID_MACH_SHARP_MOBILON_HC1200_NUM << PLATID_SUBMODEL_SHIFT)| \
     PLATID_MACH_SHARP_MOBILON_HC)
 #endif /* hpcmips */
+#if defined(hpcarm)
+#ifndef SPEC_PLATFORM
+#define SPEC_MACH_SHARP_WZERO3
+#endif /* !SPEC_PLATFORM */
+#define PLATID_MACH_SHARP_WZERO3_NUM	4
+#define PLATID_MACH_SHARP_WZERO3	\
+  ((PLATID_MACH_SHARP_WZERO3_NUM << PLATID_SERIES_SHIFT)| \
+    PLATID_MACH_SHARP)
+#ifndef SPEC_PLATFORM
+#define SPEC_MACH_SHARP_WZERO3_WS003SH
+#endif /* !SPEC_PLATFORM */
+#define PLATID_MACH_SHARP_WZERO3_WS003SH_NUM	1
+#define PLATID_MACH_SHARP_WZERO3_WS003SH	\
+  ((PLATID_MACH_SHARP_WZERO3_WS003SH_NUM << PLATID_MODEL_SHIFT)| \
+    PLATID_MACH_SHARP_WZERO3)
+#ifndef SPEC_PLATFORM
+#define SPEC_MACH_SHARP_WZERO3_WS004SH
+#endif /* !SPEC_PLATFORM */
+#define PLATID_MACH_SHARP_WZERO3_WS004SH_NUM	2
+#define PLATID_MACH_SHARP_WZERO3_WS004SH	\
+  ((PLATID_MACH_SHARP_WZERO3_WS004SH_NUM << PLATID_MODEL_SHIFT)| \
+    PLATID_MACH_SHARP_WZERO3)
+#ifndef SPEC_PLATFORM
+#define SPEC_MACH_SHARP_WZERO3_WS007SH
+#endif /* !SPEC_PLATFORM */
+#define PLATID_MACH_SHARP_WZERO3_WS007SH_NUM	3
+#define PLATID_MACH_SHARP_WZERO3_WS007SH	\
+  ((PLATID_MACH_SHARP_WZERO3_WS007SH_NUM << PLATID_MODEL_SHIFT)| \
+    PLATID_MACH_SHARP_WZERO3)
+#ifndef SPEC_PLATFORM
+#define SPEC_MACH_SHARP_WZERO3_WS011SH
+#endif /* !SPEC_PLATFORM */
+#define PLATID_MACH_SHARP_WZERO3_WS011SH_NUM	4
+#define PLATID_MACH_SHARP_WZERO3_WS011SH	\
+  ((PLATID_MACH_SHARP_WZERO3_WS011SH_NUM << PLATID_MODEL_SHIFT)| \
+    PLATID_MACH_SHARP_WZERO3)
+#ifndef SPEC_PLATFORM
+#define SPEC_MACH_SHARP_WZERO3_WS020SH
+#endif /* !SPEC_PLATFORM */
+#define PLATID_MACH_SHARP_WZERO3_WS020SH_NUM	5
+#define PLATID_MACH_SHARP_WZERO3_WS020SH	\
+  ((PLATID_MACH_SHARP_WZERO3_WS020SH_NUM << PLATID_MODEL_SHIFT)| \
+    PLATID_MACH_SHARP_WZERO3)
+#endif /* hpcarm */
+#endif /* hpcmips || hpcarm */
 #ifdef hpcmips
 #ifndef SPEC_PLATFORM
 #define SPEC_MACH_FUJITSU
diff --exclude=stand --exclude=CVS --exclude='obj.*' --exclude=compile -uNr src.orig/sys/arch/hpc/include/platid_mask.h src/sys/arch/hpc/include/platid_mask.h
--- src.orig/sys/arch/hpc/include/platid_mask.h	2009-01-30 06:34:08.000000000 +0900
+++ src/sys/arch/hpc/include/platid_mask.h	2009-01-30 06:31:10.000000000 +0900
@@ -1,4 +1,4 @@
-/*	$NetBSD: platid_mask.h,v 1.23 2009/01/29 21:20:42 nonaka Exp $	*/
+/*	$NetBSD: $	*/
 
 /*-
  * Copyright (c) 1999-2001
@@ -398,11 +398,12 @@
 #  define CASIO_CASSIOPEIAA_A55V ((int)&platid_mask_MACH_CASIO_CASSIOPEIAA_A55V)
 #endif
 #endif /* hpcsh */
-#ifdef hpcmips
+#if defined(hpcmips) || defined(hpcarm)
 extern platid_t platid_mask_MACH_SHARP;
 #ifdef PLATID_DEFINE_MASK_NICKNAME
 #  define SHARP ((int)&platid_mask_MACH_SHARP)
 #endif
+#if defined(hpcmips)
 extern platid_t platid_mask_MACH_SHARP_TRIPAD;
 #ifdef PLATID_DEFINE_MASK_NICKNAME
 #  define SHARP_TRIPAD ((int)&platid_mask_MACH_SHARP_TRIPAD)
@@ -464,6 +465,33 @@
 #  define SHARP_MOBILON_HC1200 ((int)&platid_mask_MACH_SHARP_MOBILON_HC1200)
 #endif
 #endif /* hpcmips */
+#if defined(hpcarm)
+extern platid_t platid_mask_MACH_SHARP_WZERO3;
+#ifdef PLATID_DEFINE_MASK_NICKNAME
+#  define SHARP_WZERO3 ((int)&platid_mask_MACH_SHARP_WZERO3)
+#endif
+extern platid_t platid_mask_MACH_SHARP_WZERO3_WS003SH;
+#ifdef PLATID_DEFINE_MASK_NICKNAME
+#  define SHARP_WZERO3_WS003SH ((int)&platid_mask_MACH_SHARP_WZERO3_WS003SH)
+#endif
+extern platid_t platid_mask_MACH_SHARP_WZERO3_WS004SH;
+#ifdef PLATID_DEFINE_MASK_NICKNAME
+#  define SHARP_WZERO3_WS004SH ((int)&platid_mask_MACH_SHARP_WZERO3_WS004SH)
+#endif
+extern platid_t platid_mask_MACH_SHARP_WZERO3_WS007SH;
+#ifdef PLATID_DEFINE_MASK_NICKNAME
+#  define SHARP_WZERO3_WS007SH ((int)&platid_mask_MACH_SHARP_WZERO3_WS007SH)
+#endif
+extern platid_t platid_mask_MACH_SHARP_WZERO3_WS011SH;
+#ifdef PLATID_DEFINE_MASK_NICKNAME
+#  define SHARP_WZERO3_WS011SH ((int)&platid_mask_MACH_SHARP_WZERO3_WS011SH)
+#endif
+extern platid_t platid_mask_MACH_SHARP_WZERO3_WS020SH;
+#ifdef PLATID_DEFINE_MASK_NICKNAME
+#  define SHARP_WZERO3_WS020SH ((int)&platid_mask_MACH_SHARP_WZERO3_WS020SH)
+#endif
+#endif /* hpcarm */
+#endif /* hpcmips || hpcarm */
 #ifdef hpcmips
 extern platid_t platid_mask_MACH_FUJITSU;
 #ifdef PLATID_DEFINE_MASK_NICKNAME
