2018-05-06 21:58:06 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
2015-05-07 13:34:08 +00:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ARCH_QEMU_H_
|
|
|
|
#define _ARCH_QEMU_H_
|
|
|
|
|
2015-05-23 16:12:33 +00:00
|
|
|
/* Programmable Attribute Map (PAM) Registers */
|
|
|
|
#define I440FX_PAM 0x59
|
|
|
|
#define Q35_PAM 0x90
|
|
|
|
#define PAM_NUM 7
|
|
|
|
#define PAM_RW 0x33
|
|
|
|
|
2015-07-22 08:21:11 +00:00
|
|
|
/* X-Bus Chip Select Register */
|
|
|
|
#define XBCS 0x4e
|
|
|
|
#define APIC_EN (1 << 8)
|
|
|
|
|
2015-05-25 14:36:26 +00:00
|
|
|
/* IDE Timing Register */
|
|
|
|
#define IDE0_TIM 0x40
|
|
|
|
#define IDE1_TIM 0x42
|
2015-07-22 08:21:11 +00:00
|
|
|
#define IDE_DECODE_EN (1 << 15)
|
2015-05-25 14:36:26 +00:00
|
|
|
|
2015-07-22 08:21:14 +00:00
|
|
|
/* PCIe ECAM Base Address Register */
|
|
|
|
#define PCIEX_BAR 0x60
|
|
|
|
#define BAR_EN (1 << 0)
|
|
|
|
|
2015-05-07 13:34:08 +00:00
|
|
|
/* I/O Ports */
|
|
|
|
#define CMOS_ADDR_PORT 0x70
|
|
|
|
#define CMOS_DATA_PORT 0x71
|
|
|
|
|
|
|
|
#define LOW_RAM_ADDR 0x34
|
|
|
|
#define HIGH_RAM_ADDR 0x35
|
|
|
|
|
2019-08-29 09:53:05 +00:00
|
|
|
#define LOW_HIGHRAM_ADDR 0x5b
|
|
|
|
#define MID_HIGHRAM_ADDR 0x5c
|
|
|
|
#define HIGH_HIGHRAM_ADDR 0x5d
|
|
|
|
|
2016-01-20 09:57:05 +00:00
|
|
|
/* PM registers */
|
|
|
|
#define PMBA 0x40
|
|
|
|
#define PMREGMISC 0x80
|
|
|
|
#define PMIOSE (1 << 0)
|
|
|
|
|
2019-08-29 09:53:04 +00:00
|
|
|
/**
|
|
|
|
* qemu_get_low_memory_size() - Get low memory size
|
|
|
|
*
|
|
|
|
* @return: size of memory below 4GiB
|
|
|
|
*/
|
|
|
|
u32 qemu_get_low_memory_size(void);
|
|
|
|
|
2019-08-29 09:53:05 +00:00
|
|
|
/**
|
|
|
|
* qemu_get_high_memory_size() - Get high memory size
|
|
|
|
*
|
|
|
|
* @return: size of memory above 4GiB
|
|
|
|
*/
|
|
|
|
u64 qemu_get_high_memory_size(void);
|
|
|
|
|
2015-05-07 13:34:08 +00:00
|
|
|
#endif /* _ARCH_QEMU_H_ */
|