Subject: booting C200
To: None <port-hp700@netbsd.org>
From: ITOH Yasufumi <itohy@netbsd.org>
List: port-hp700
Date: 11/12/2003 00:35:39
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <19742.1068564251.1@pino.my.domain>
Content-Transfer-Encoding: 7bit

  Hello,

I tried to boot netbsd on C200, but it fails like this:

>> NetBSD/hp700 LIF/FFS/LFS Boot, Revision 1.2
>> (itohy@pino.my.domain, Tue Nov 11 23:06:25 JST 2003)
>> Enter "reset" to reset system.
Boot: [[[lf0a:]netbsd][-a][-c][-d][-s][-v][-q]] :-
pdc_finddev(-1, 1002)
IODC_READ: -6
open lf0a:netbsd: Device not configured
boot: Device not configured
Boot: [[[lf0a:]netbsd.gz][-a][-c][-d][-s][-v][-q]] :- 

(Note some of the debug options are enabled.)

The error code -6 means the buffer size is too short.
I bumped the buffer size from 16KB to 32KB (patch attached)
and it works:

>> NetBSD/hp700 LIF/FFS/LFS Boot, Revision 1.2
>> (itohy@pino.my.domain, Tue Nov 11 23:33:32 JST 2003)
>> Enter "reset" to reset system.
Boot: [[[lf0a:]netbsd][-a][-c][-d][-s][-v][-q]] :-
pdc_finddev(-1, 1002)
3694592+69632+311296 [429392+102404]=0x4def40
Start @ 0x200000 [1=0x65d000-0x6def40]...
pdc_cache:
ic={524288,81402000,0,32,16384,1}
dc={1048576,81402000,0,32,32768,1}
SPID bits: 0x0, error = -2
WARNING: no HPT support, fine!
panic: no kernel support for PA8200

(The kernel doesn't work, however. :)

Is this change correct?
(C180 doesn't require this change, FYI.)
-- 
ITOH Yasufumi

------- =_aaaaaaaaaa0
Content-Type: text/plain; name="pdc.h.diff"; charset="us-ascii"
Content-ID: <19742.1068564251.2@pino.my.domain>
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="pdc.h.diff"

Index: pdc.h
===================================================================
RCS file: /cvsroot/src/sys/arch/hp700/include/pdc.h,v
retrieving revision 1.1
diff -u -r1.1 pdc.h
--- pdc.h	6 Jun 2002 19:48:09 -0000	1.1
+++ pdc.h	11 Nov 2003 15:10:20 -0000
@@ -89,7 +89,7 @@
  * "../stand/Makefile") to make way for the Kernel.
  */
 
-#define	IODC_MAXSIZE	(16 * 1024)	/* maximum size of IODC */
+#define	IODC_MAXSIZE	(32 * 1024)	/* maximum size of IODC */
 #define	IODC_MINIOSIZ	64		/* minimum buffer size for IODC call */
 #define	IODC_MAXIOSIZ	(64 * 1024)	/* maximum buffer size for IODC call */
 

------- =_aaaaaaaaaa0--