mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
pci, pc, virtio fixes and cleanups
A bunch of fixes all over the place. All of ACPI refactoring has been merged. Legacy pci commands have been dropped. virtio header cleanup initial patches from virtio-1.0 branch Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJU/CoXAAoJECgfDbjSjVRpX7EH/RMmgtsDO4wvqJu++lHvkB/q kSaXZYTpJTo0i5JE7n2brwuXA4902tTg9g5TMUpGPh9Pt2QRg7RTgGC1vqZyOBos MPw+4BO2v66S6qgX7bOf222z7r64cHTY7pLkQlrfD4usPlu2eusZ64UTW6Ru51fW WF9E9aunbl+HnuCGq6Iez3sCLscTBJpU/lEr6oSyHhuq3aa0CjjraEeV0E/QcwJG HTUeFymL8NFvlXZblsLI++VOv7Mxpi6yiCQ5XoKpFgGMvidwo41Aso6gB3ySGxOd w8O3Nbu77Iw/StDRNCg/5/GapabMKh2bE4UCsYY5OS63ZtD0fl0CCblhzm/ZFPw= =LY/j -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging pci, pc, virtio fixes and cleanups A bunch of fixes all over the place. All of ACPI refactoring has been merged. Legacy pci commands have been dropped. virtio header cleanup initial patches from virtio-1.0 branch Signed-off-by: Michael S. Tsirkin <mst@redhat.com> * remotes/mst/tags/for_upstream: (130 commits) acpi: drop unused code aml-build: comment fix acpi-build: fix typo in comment acpi: update generated files vhost user:support vhost user nic for non msi guests aml-build: fix build for glib < 2.22 acpi: update generated files Makefile.target: binary depends on config-devices acpi-test-data: update after pci rewrite acpi, mem-hotplug: use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb(). pci-hotplug-old: Has been dead for five major releases, bury pci: Give a few helpers internal linkage acpi: make build_*() routines static to aml-build.c pc: acpi: remove not used anymore ssdt-[misc|pcihp].hex.generated blobs pc: acpi-build: drop template patching and create PCI bus tree dynamically tests: ACPI: update pc/SSDT.bridge due to new alg of PCI tree creation pc: acpi-build: simplify PCI bus tree generation tests: add ACPI blobs for qemu with bridge cases tests: bios-tables-test: add support for testing bridges tests: ACPI test blobs update due to PCI0._CRS changes ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Conflicts: hw/pci/pci-hotplug-old.c
This commit is contained in:
commit
0048fa6c80
155 changed files with 3585 additions and 5287 deletions
Binary file not shown.
Binary file not shown.
BIN
tests/acpi-test-data/pc/SSDT.bridge
Normal file
BIN
tests/acpi-test-data/pc/SSDT.bridge
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tests/acpi-test-data/q35/SSDT.bridge
Normal file
BIN
tests/acpi-test-data/q35/SSDT.bridge
Normal file
Binary file not shown.
|
@ -40,6 +40,7 @@ typedef struct {
|
|||
|
||||
typedef struct {
|
||||
const char *machine;
|
||||
const char *variant;
|
||||
uint32_t rsdp_addr;
|
||||
AcpiRsdpDescriptor rsdp_table;
|
||||
AcpiRsdtDescriptorRev1 rsdt_table;
|
||||
|
@ -396,13 +397,14 @@ static void dump_aml_files(test_data *data, bool rebuild)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < data->tables->len; ++i) {
|
||||
const char *ext = data->variant ? data->variant : "";
|
||||
sdt = &g_array_index(data->tables, AcpiSdtTable, i);
|
||||
g_assert(sdt->aml);
|
||||
|
||||
if (rebuild) {
|
||||
uint32_t signature = cpu_to_le32(sdt->header.signature);
|
||||
aml_file = g_strdup_printf("%s/%s/%.4s", data_dir, data->machine,
|
||||
(gchar *)&signature);
|
||||
aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine,
|
||||
(gchar *)&signature, ext);
|
||||
fd = g_open(aml_file, O_WRONLY|O_TRUNC|O_CREAT,
|
||||
S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH);
|
||||
} else {
|
||||
|
@ -509,7 +511,7 @@ static GArray *load_expected_aml(test_data *data)
|
|||
{
|
||||
int i;
|
||||
AcpiSdtTable *sdt;
|
||||
gchar *aml_file;
|
||||
gchar *aml_file = NULL;
|
||||
GError *error = NULL;
|
||||
gboolean ret;
|
||||
|
||||
|
@ -517,6 +519,7 @@ static GArray *load_expected_aml(test_data *data)
|
|||
for (i = 0; i < data->tables->len; ++i) {
|
||||
AcpiSdtTable exp_sdt;
|
||||
uint32_t signature;
|
||||
const char *ext = data->variant ? data->variant : "";
|
||||
|
||||
sdt = &g_array_index(data->tables, AcpiSdtTable, i);
|
||||
|
||||
|
@ -524,8 +527,15 @@ static GArray *load_expected_aml(test_data *data)
|
|||
exp_sdt.header.signature = sdt->header.signature;
|
||||
|
||||
signature = cpu_to_le32(sdt->header.signature);
|
||||
aml_file = g_strdup_printf("%s/%s/%.4s", data_dir, data->machine,
|
||||
(gchar *)&signature);
|
||||
|
||||
try_again:
|
||||
aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine,
|
||||
(gchar *)&signature, ext);
|
||||
if (data->variant && !g_file_test(aml_file, G_FILE_TEST_EXISTS)) {
|
||||
g_free(aml_file);
|
||||
ext = "";
|
||||
goto try_again;
|
||||
}
|
||||
exp_sdt.aml_file = aml_file;
|
||||
g_assert(g_file_test(aml_file, G_FILE_TEST_EXISTS));
|
||||
ret = g_file_get_contents(aml_file, &exp_sdt.aml,
|
||||
|
@ -778,6 +788,17 @@ static void test_acpi_piix4_tcg(void)
|
|||
free_test_data(&data);
|
||||
}
|
||||
|
||||
static void test_acpi_piix4_tcg_bridge(void)
|
||||
{
|
||||
test_data data;
|
||||
|
||||
memset(&data, 0, sizeof(data));
|
||||
data.machine = MACHINE_PC;
|
||||
data.variant = ".bridge";
|
||||
test_acpi_one("-machine accel=tcg -device pci-bridge,chassis_nr=1", &data);
|
||||
free_test_data(&data);
|
||||
}
|
||||
|
||||
static void test_acpi_q35_tcg(void)
|
||||
{
|
||||
test_data data;
|
||||
|
@ -788,6 +809,18 @@ static void test_acpi_q35_tcg(void)
|
|||
free_test_data(&data);
|
||||
}
|
||||
|
||||
static void test_acpi_q35_tcg_bridge(void)
|
||||
{
|
||||
test_data data;
|
||||
|
||||
memset(&data, 0, sizeof(data));
|
||||
data.machine = MACHINE_Q35;
|
||||
data.variant = ".bridge";
|
||||
test_acpi_one("-machine q35,accel=tcg -device pci-bridge,chassis_nr=1",
|
||||
&data);
|
||||
free_test_data(&data);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
const char *arch = qtest_get_arch();
|
||||
|
@ -805,7 +838,9 @@ int main(int argc, char *argv[])
|
|||
|
||||
if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
|
||||
qtest_add_func("acpi/piix4/tcg", test_acpi_piix4_tcg);
|
||||
qtest_add_func("acpi/piix4/tcg/bridge", test_acpi_piix4_tcg_bridge);
|
||||
qtest_add_func("acpi/q35/tcg", test_acpi_q35_tcg);
|
||||
qtest_add_func("acpi/q35/tcg/bridge", test_acpi_q35_tcg_bridge);
|
||||
}
|
||||
ret = g_test_run();
|
||||
unlink(disk);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue