59 lines
1.2 KiB
C
59 lines
1.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
|
|
*/
|
|
|
|
#ifndef _ARCH_QEMU_H_
|
|
#define _ARCH_QEMU_H_
|
|
|
|
/* Programmable Attribute Map (PAM) Registers */
|
|
#define I440FX_PAM 0x59
|
|
#define Q35_PAM 0x90
|
|
#define PAM_NUM 7
|
|
#define PAM_RW 0x33
|
|
|
|
/* X-Bus Chip Select Register */
|
|
#define XBCS 0x4e
|
|
#define APIC_EN (1 << 8)
|
|
|
|
/* IDE Timing Register */
|
|
#define IDE0_TIM 0x40
|
|
#define IDE1_TIM 0x42
|
|
#define IDE_DECODE_EN (1 << 15)
|
|
|
|
/* PCIe ECAM Base Address Register */
|
|
#define PCIEX_BAR 0x60
|
|
#define BAR_EN (1 << 0)
|
|
|
|
/* I/O Ports */
|
|
#define CMOS_ADDR_PORT 0x70
|
|
#define CMOS_DATA_PORT 0x71
|
|
|
|
#define LOW_RAM_ADDR 0x34
|
|
#define HIGH_RAM_ADDR 0x35
|
|
|
|
#define LOW_HIGHRAM_ADDR 0x5b
|
|
#define MID_HIGHRAM_ADDR 0x5c
|
|
#define HIGH_HIGHRAM_ADDR 0x5d
|
|
|
|
/* PM registers */
|
|
#define PMBA 0x40
|
|
#define PMREGMISC 0x80
|
|
#define PMIOSE (1 << 0)
|
|
|
|
/**
|
|
* qemu_get_low_memory_size() - Get low memory size
|
|
*
|
|
* @return: size of memory below 4GiB
|
|
*/
|
|
u32 qemu_get_low_memory_size(void);
|
|
|
|
/**
|
|
* qemu_get_high_memory_size() - Get high memory size
|
|
*
|
|
* @return: size of memory above 4GiB
|
|
*/
|
|
u64 qemu_get_high_memory_size(void);
|
|
|
|
#endif /* _ARCH_QEMU_H_ */
|