Assorted cleanups I've discovered over time
This commit is contained in:
@@ -1458,7 +1458,7 @@ acpi_apm_out(uint16_t port, uint8_t val, void *p)
|
||||
dev->apm->cmd = val;
|
||||
if (dev->vendor == VEN_INTEL)
|
||||
dev->regs.glbsts |= 0x20;
|
||||
acpi_raise_smi(dev, dev->apm->do_smi);
|
||||
acpi_raise_smi(dev, dev->apm->do_smi);
|
||||
} else
|
||||
dev->apm->stat = val;
|
||||
}
|
||||
|
1469
src/config.c
1469
src/config.c
File diff suppressed because it is too large
Load Diff
@@ -51,21 +51,21 @@
|
||||
|
||||
|
||||
enum {
|
||||
CPUID_FPU = (1 << 0),
|
||||
CPUID_VME = (1 << 1),
|
||||
CPUID_PSE = (1 << 3),
|
||||
CPUID_TSC = (1 << 4),
|
||||
CPUID_MSR = (1 << 5),
|
||||
CPUID_PAE = (1 << 6),
|
||||
CPUID_MCE = (1 << 7),
|
||||
CPUID_CMPXCHG8B = (1 << 8),
|
||||
CPUID_AMDSEP = (1 << 10),
|
||||
CPUID_SEP = (1 << 11),
|
||||
CPUID_MTRR = (1 << 12),
|
||||
CPUID_MCA = (1 << 14),
|
||||
CPUID_CMOV = (1 << 15),
|
||||
CPUID_MMX = (1 << 23),
|
||||
CPUID_FXSR = (1 << 24)
|
||||
CPUID_FPU = (1 << 0),
|
||||
CPUID_VME = (1 << 1),
|
||||
CPUID_PSE = (1 << 3),
|
||||
CPUID_TSC = (1 << 4),
|
||||
CPUID_MSR = (1 << 5),
|
||||
CPUID_PAE = (1 << 6),
|
||||
CPUID_MCE = (1 << 7),
|
||||
CPUID_CMPXCHG8B = (1 << 8),
|
||||
CPUID_AMDSEP = (1 << 10),
|
||||
CPUID_SEP = (1 << 11),
|
||||
CPUID_MTRR = (1 << 12),
|
||||
CPUID_MCA = (1 << 14),
|
||||
CPUID_CMOV = (1 << 15),
|
||||
CPUID_MMX = (1 << 23),
|
||||
CPUID_FXSR = (1 << 24)
|
||||
};
|
||||
|
||||
/*Addition flags returned by CPUID function 0x80000001*/
|
||||
|
@@ -39,7 +39,7 @@
|
||||
# define EMU_NVRPS2_H
|
||||
|
||||
|
||||
extern const device_t ps2_nvr_device;
|
||||
extern const device_t ps2_nvr_device;
|
||||
extern const device_t ps2_nvr_55ls_device;
|
||||
|
||||
|
||||
|
@@ -10,44 +10,44 @@
|
||||
#define VAR_ROW1_MA14 (1 << 3)
|
||||
|
||||
#define ADDRESS_REMAP_FUNC(nr) \
|
||||
static uint32_t address_remap_func_ ## nr(ega_t *ega, uint32_t in_addr) \
|
||||
{ \
|
||||
uint32_t out_addr; \
|
||||
\
|
||||
switch (nr & VAR_MODE_MASK) \
|
||||
{ \
|
||||
case VAR_BYTE_MODE: \
|
||||
out_addr = in_addr; \
|
||||
break; \
|
||||
\
|
||||
case VAR_WORD_MODE_MA13: \
|
||||
out_addr = ((in_addr << 1) & 0x1fff8) | \
|
||||
((in_addr >> 13) & 0x4) | \
|
||||
(in_addr & ~0x1ffff); \
|
||||
break; \
|
||||
\
|
||||
case VAR_WORD_MODE_MA15: \
|
||||
out_addr = ((in_addr << 1) & 0x1fff8) | \
|
||||
((in_addr >> 15) & 0x4) | \
|
||||
(in_addr & ~0x1ffff); \
|
||||
break; \
|
||||
\
|
||||
case VAR_DWORD_MODE: \
|
||||
out_addr = ((in_addr << 2) & 0x3fff0) | \
|
||||
((in_addr >> 14) & 0xc) | \
|
||||
(in_addr & ~0x3ffff); \
|
||||
break; \
|
||||
} \
|
||||
\
|
||||
if (nr & VAR_ROW0_MA13) \
|
||||
out_addr = (out_addr & ~0x8000) | \
|
||||
((ega->sc & 1) ? 0x8000 : 0); \
|
||||
if (nr & VAR_ROW1_MA14) \
|
||||
out_addr = (out_addr & ~0x10000) | \
|
||||
((ega->sc & 2) ? 0x10000 : 0); \
|
||||
\
|
||||
return out_addr; \
|
||||
}
|
||||
static uint32_t address_remap_func_ ## nr(ega_t *ega, uint32_t in_addr) \
|
||||
{ \
|
||||
uint32_t out_addr; \
|
||||
\
|
||||
switch (nr & VAR_MODE_MASK) \
|
||||
{ \
|
||||
case VAR_BYTE_MODE: \
|
||||
out_addr = in_addr; \
|
||||
break; \
|
||||
\
|
||||
case VAR_WORD_MODE_MA13: \
|
||||
out_addr = ((in_addr << 1) & 0x1fff8) | \
|
||||
((in_addr >> 13) & 0x4) | \
|
||||
(in_addr & ~0x1ffff); \
|
||||
break; \
|
||||
\
|
||||
case VAR_WORD_MODE_MA15: \
|
||||
out_addr = ((in_addr << 1) & 0x1fff8) | \
|
||||
((in_addr >> 15) & 0x4) | \
|
||||
(in_addr & ~0x1ffff); \
|
||||
break; \
|
||||
\
|
||||
case VAR_DWORD_MODE: \
|
||||
out_addr = ((in_addr << 2) & 0x3fff0) | \
|
||||
((in_addr >> 14) & 0xc) | \
|
||||
(in_addr & ~0x3ffff); \
|
||||
break; \
|
||||
} \
|
||||
\
|
||||
if (nr & VAR_ROW0_MA13) \
|
||||
out_addr = (out_addr & ~0x8000) | \
|
||||
((ega->sc & 1) ? 0x8000 : 0); \
|
||||
if (nr & VAR_ROW1_MA14) \
|
||||
out_addr = (out_addr & ~0x10000) | \
|
||||
((ega->sc & 2) ? 0x10000 : 0); \
|
||||
\
|
||||
return out_addr; \
|
||||
}
|
||||
|
||||
ADDRESS_REMAP_FUNC(0)
|
||||
ADDRESS_REMAP_FUNC(1)
|
||||
@@ -68,22 +68,22 @@ ADDRESS_REMAP_FUNC(15)
|
||||
|
||||
static uint32_t (*address_remap_funcs[16])(ega_t *ega, uint32_t in_addr) =
|
||||
{
|
||||
address_remap_func_0,
|
||||
address_remap_func_1,
|
||||
address_remap_func_2,
|
||||
address_remap_func_3,
|
||||
address_remap_func_4,
|
||||
address_remap_func_5,
|
||||
address_remap_func_6,
|
||||
address_remap_func_7,
|
||||
address_remap_func_8,
|
||||
address_remap_func_9,
|
||||
address_remap_func_10,
|
||||
address_remap_func_11,
|
||||
address_remap_func_12,
|
||||
address_remap_func_13,
|
||||
address_remap_func_14,
|
||||
address_remap_func_15
|
||||
address_remap_func_0,
|
||||
address_remap_func_1,
|
||||
address_remap_func_2,
|
||||
address_remap_func_3,
|
||||
address_remap_func_4,
|
||||
address_remap_func_5,
|
||||
address_remap_func_6,
|
||||
address_remap_func_7,
|
||||
address_remap_func_8,
|
||||
address_remap_func_9,
|
||||
address_remap_func_10,
|
||||
address_remap_func_11,
|
||||
address_remap_func_12,
|
||||
address_remap_func_13,
|
||||
address_remap_func_14,
|
||||
address_remap_func_15
|
||||
};
|
||||
|
||||
void ega_recalc_remap_func(ega_t *ega)
|
||||
|
Reference in New Issue
Block a user