Annotation of qemu/roms/seabios/src/cmos.h, revision 1.1

1.1     ! root        1: // Definitions for X86 CMOS non-volatile memory access.
        !             2: //
        !             3: // Copyright (C) 2008  Kevin O'Connor <[email protected]>
        !             4: //
        !             5: // This file may be distributed under the terms of the GNU LGPLv3 license.
        !             6: #ifndef __CMOS_H
        !             7: #define __CMOS_H
        !             8: 
        !             9: #define CMOS_RTC_SECONDS         0x00
        !            10: #define CMOS_RTC_SECONDS_ALARM   0x01
        !            11: #define CMOS_RTC_MINUTES         0x02
        !            12: #define CMOS_RTC_MINUTES_ALARM   0x03
        !            13: #define CMOS_RTC_HOURS           0x04
        !            14: #define CMOS_RTC_HOURS_ALARM     0x05
        !            15: #define CMOS_RTC_DAY_WEEK        0x06
        !            16: #define CMOS_RTC_DAY_MONTH       0x07
        !            17: #define CMOS_RTC_MONTH           0x08
        !            18: #define CMOS_RTC_YEAR            0x09
        !            19: #define CMOS_STATUS_A            0x0a
        !            20: #define CMOS_STATUS_B            0x0b
        !            21: #define CMOS_STATUS_C            0x0c
        !            22: #define CMOS_STATUS_D            0x0d
        !            23: #define CMOS_RESET_CODE          0x0f
        !            24: #define CMOS_FLOPPY_DRIVE_TYPE   0x10
        !            25: #define CMOS_DISK_DATA           0x12
        !            26: #define CMOS_EQUIPMENT_INFO      0x14
        !            27: #define CMOS_DISK_DRIVE1_TYPE    0x19
        !            28: #define CMOS_DISK_DRIVE2_TYPE    0x1a
        !            29: #define CMOS_DISK_DRIVE1_CYL     0x1b
        !            30: #define CMOS_DISK_DRIVE2_CYL     0x24
        !            31: #define CMOS_MEM_EXTMEM_LOW      0x30
        !            32: #define CMOS_MEM_EXTMEM_HIGH     0x31
        !            33: #define CMOS_CENTURY             0x32
        !            34: #define CMOS_MEM_EXTMEM2_LOW     0x34
        !            35: #define CMOS_MEM_EXTMEM2_HIGH    0x35
        !            36: #define CMOS_BIOS_BOOTFLAG1      0x38
        !            37: #define CMOS_BIOS_DISKTRANSFLAG  0x39
        !            38: #define CMOS_BIOS_BOOTFLAG2      0x3d
        !            39: #define CMOS_MEM_HIGHMEM_LOW     0x5b
        !            40: #define CMOS_MEM_HIGHMEM_MID     0x5c
        !            41: #define CMOS_MEM_HIGHMEM_HIGH    0x5d
        !            42: #define CMOS_BIOS_SMP_COUNT      0x5f
        !            43: 
        !            44: // CMOS_FLOPPY_DRIVE_TYPE bitdefs
        !            45: #define CFD_NO_DRIVE 0
        !            46: #define CFD_360KB    1
        !            47: #define CFD_12MB     2
        !            48: #define CFD_720KB    3
        !            49: #define CFD_144MB    4
        !            50: #define CFD_288MB    5
        !            51: 
        !            52: #ifndef __ASSEMBLY__
        !            53: 
        !            54: #include "ioport.h" // inb, outb
        !            55: 
        !            56: static inline u8
        !            57: inb_cmos(u8 reg)
        !            58: {
        !            59:     reg |= NMI_DISABLE_BIT;
        !            60:     outb(reg, PORT_CMOS_INDEX);
        !            61:     return inb(PORT_CMOS_DATA);
        !            62: }
        !            63: 
        !            64: static inline void
        !            65: outb_cmos(u8 val, u8 reg)
        !            66: {
        !            67:     reg |= NMI_DISABLE_BIT;
        !            68:     outb(reg, PORT_CMOS_INDEX);
        !            69:     outb(val, PORT_CMOS_DATA);
        !            70: }
        !            71: 
        !            72: #endif // !__ASSEMBLY__
        !            73: 
        !            74: #endif // cmos.h

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.