boot_ufs.h revision 1.1 1 1.1 minoura /* $NetBSD: boot_ufs.h,v 1.1 2001/09/27 10:14:49 minoura Exp $ */
2 1.1 minoura
3 1.1 minoura /***************************************************************
4 1.1 minoura *
5 1.1 minoura * file: boot.h
6 1.1 minoura *
7 1.1 minoura * author: chapuni(GBA02750 (at) niftyserve.or.jp)
8 1.1 minoura *
9 1.1 minoura */
10 1.1 minoura
11 1.1 minoura /* xxboot.S */
12 1.1 minoura __dead void BOOT_ERROR __P((const char *msg)) __attribute__((noreturn));
13 1.1 minoura int badbaddr __P((volatile void *adr));
14 1.1 minoura void RAW_READ __P((void *buf, u_int32_t blkpos, size_t bytelen));
15 1.1 minoura #ifdef SCSI_ADHOC_BOOTPART
16 1.1 minoura void RAW_READ0 __P((void *buf, u_int32_t blkpos, size_t bytelen));
17 1.1 minoura #endif
18 1.1 minoura unsigned B_KEYINP __P((void));
19 1.1 minoura void B_PUTC __P((unsigned int c));
20 1.1 minoura void B_PRINT __P((const unsigned char *p));
21 1.1 minoura unsigned B_COLOR __P((unsigned int w));
22 1.1 minoura
23 1.1 minoura extern unsigned ID; /* target SCSI ID */
24 1.1 minoura extern unsigned BOOT_INFO; /* result of IOCS(__BOOTINF) */
25 1.1 minoura
26 1.1 minoura /* check whether the bootinf is SCSI or floppy */
27 1.1 minoura #define BINF_ISFD(pbinf) (*((char *)(pbinf) + 1) == 0)
28 1.1 minoura
29 1.1 minoura extern unsigned FDMODE; /* Floppy access mode: PDA x 256 + MODE */
30 1.1 minoura extern struct {
31 1.1 minoura struct fdfmt{
32 1.1 minoura unsigned char N; /* sector length 0: 128, ..., 3: 1K */
33 1.1 minoura unsigned char C; /* cylinder # */
34 1.1 minoura unsigned char H; /* head # */
35 1.1 minoura unsigned char R; /* sector # */
36 1.1 minoura } minsec, maxsec;
37 1.1 minoura } FDSECMINMAX; /* FD format type of the first track */
38 1.1 minoura #ifdef SCSI_ADHOC_BOOTPART
39 1.1 minoura extern u_int32_t SCSI_PARTTOP; /* top position of boot partition in sector */
40 1.1 minoura extern u_int32_t SCSI_BLKLEN; /* sector len 0: 256, 1: 512, 2: 1024 */
41 1.1 minoura #endif
42