hw/i386: add a separate region that tracks the SMRAME bit
commitfe6567d5fddfb7501a352c5e080a9eecf7b89177
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 31 Mar 2015 12:10:22 +0000 (31 14:10 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 5 Jun 2015 15:36:39 +0000 (5 17:36 +0200)
tree218595cffdd4f6c5119d454ee99273987b290e76
parent2001d0cd6d55e5efa9956fa8ff8b89034d6a4329
hw/i386: add a separate region that tracks the SMRAME bit

This region is exported at /machine/smram.  It is "empty" if
SMRAME=0 and points to SMRAM if SMRAME=1.  The CPU will
enable/disable it as it enters or exits SMRAM.

While touching nearby code, the existing memory region setup was
slightly inconsistent.  The smram_region is *disabled* in order to open
SMRAM (because the smram_region shows the low VRAM instead of the RAM
at 0xa0000).  Because SMRAM is closed at startup, the smram_region must
be enabled when creating the i440fx or q35 devices.

Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/pci-host/piix.c
hw/pci-host/q35.c
include/hw/pci-host/q35.h