ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-i386 / pc9800.h
1 /*
2  *  PC-9800 machine types.
3  *
4  *  Copyright (C) 1999  TAKAI Kosuke <tak@kmc.kyoto-u.ac.jp>
5  *                      (Linux/98 Project)
6  */
7
8 #ifndef _ASM_PC9800_H_
9 #define _ASM_PC9800_H_
10
11 #include <asm/pc9800_sca.h>
12 #include <asm/types.h>
13
14 #define __PC9800SCA(type, pa)   (*(type *) phys_to_virt(pa))
15 #define __PC9800SCA_TEST_BIT(pa, n)     \
16         ((__PC9800SCA(u8, pa) & (1U << (n))) != 0)
17
18 #define PC9800_HIGHRESO_P()     __PC9800SCA_TEST_BIT(PC9800SCA_BIOS_FLAG, 3)
19 #define PC9800_8MHz_P()         __PC9800SCA_TEST_BIT(PC9800SCA_BIOS_FLAG, 7)
20
21                                 /* 0x2198 is 98 21 on memory... */
22 #define PC9800_9821_P()         (__PC9800SCA(u16, PC9821SCA_ROM_ID) == 0x2198)
23
24 /* Note PC9821_...() are valid only when PC9800_9821_P() was true. */
25 #define PC9821_IDEIF_DOUBLE_P() __PC9800SCA_TEST_BIT(PC9821SCA_ROM_FLAG4, 4)
26
27 #endif