X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fcmos.h;h=e4b64623316814732daeab07ba1dc2635335ac45;hb=2b6a6761341e5df7312d937f954fae3d6897af3f;hp=60ebe8087236e9de8272776934d67ce06e19c70b;hpb=38fcbfeebc7ce9c1aa940c1b98f6141f161a6ff4;p=seabios.git diff --git a/src/cmos.h b/src/cmos.h index 60ebe80..e4b6462 100644 --- a/src/cmos.h +++ b/src/cmos.h @@ -2,12 +2,10 @@ // // Copyright (C) 2008 Kevin O'Connor // -// This file may be distributed under the terms of the GNU GPLv3 license. +// This file may be distributed under the terms of the GNU LGPLv3 license. #ifndef __CMOS_H #define __CMOS_H -#include "ioport.h" // inb, outb - #define CMOS_RTC_SECONDS 0x00 #define CMOS_RTC_SECONDS_ALARM 0x01 #define CMOS_RTC_MINUTES 0x02 @@ -24,18 +22,24 @@ #define CMOS_STATUS_D 0x0d #define CMOS_RESET_CODE 0x0f #define CMOS_FLOPPY_DRIVE_TYPE 0x10 +#define CMOS_DISK_DATA 0x12 #define CMOS_EQUIPMENT_INFO 0x14 -#define CMOS_BIOS_CONFIG 0x2d -#define CMOS_EXTMEM_LOW 0x30 -#define CMOS_EXTMEM_HIGH 0x31 +#define CMOS_DISK_DRIVE1_TYPE 0x19 +#define CMOS_DISK_DRIVE2_TYPE 0x1a +#define CMOS_DISK_DRIVE1_CYL 0x1b +#define CMOS_DISK_DRIVE2_CYL 0x24 +#define CMOS_MEM_EXTMEM_LOW 0x30 +#define CMOS_MEM_EXTMEM_HIGH 0x31 #define CMOS_CENTURY 0x32 -#define CMOS_EXTMEM2_LOW 0x34 -#define CMOS_EXTMEM2_HIGH 0x35 +#define CMOS_MEM_EXTMEM2_LOW 0x34 +#define CMOS_MEM_EXTMEM2_HIGH 0x35 #define CMOS_BIOS_BOOTFLAG1 0x38 +#define CMOS_BIOS_DISKTRANSFLAG 0x39 #define CMOS_BIOS_BOOTFLAG2 0x3d - -// CMOS_STATUS_B bitdefs -#define CSB_EN_ALARM_IRQ (1<<5) +#define CMOS_MEM_HIGHMEM_LOW 0x5b +#define CMOS_MEM_HIGHMEM_MID 0x5c +#define CMOS_MEM_HIGHMEM_HIGH 0x5d +#define CMOS_BIOS_SMP_COUNT 0x5f // CMOS_FLOPPY_DRIVE_TYPE bitdefs #define CFD_NO_DRIVE 0 @@ -45,9 +49,14 @@ #define CFD_144MB 4 #define CFD_288MB 5 +#ifndef __ASSEMBLY__ + +#include "ioport.h" // inb, outb + static inline u8 inb_cmos(u8 reg) { + reg |= NMI_DISABLE_BIT; outb(reg, PORT_CMOS_INDEX); return inb(PORT_CMOS_DATA); } @@ -55,8 +64,11 @@ inb_cmos(u8 reg) static inline void outb_cmos(u8 val, u8 reg) { + reg |= NMI_DISABLE_BIT; outb(reg, PORT_CMOS_INDEX); outb(val, PORT_CMOS_DATA); } +#endif // !__ASSEMBLY__ + #endif // cmos.h