From af9f14a8e30ac6b9805932e8bcb84b8fb6a051c7 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 8 Apr 2010 16:56:24 +0100 Subject: [PATCH] passthrough: fix header type register emulation This patch fixes the emulation of latency timer and header type. The change set of cc1a204423475ff7a918b11d78b9ae637f320e23 deleted the header type register emulation. On the other hand, the change set of ec5e52d5cb2e6f8851c345b7c3095fe2030fff9c tries to update header type emulation, however it wrongly touches latency timer emulation part. I think this was caused by mis-merging. This patch sorts it out. Cc: Dexuan Cui Cc: Masaki Kanno Cc: Ian Jackson Signed-off-by: Isaku Yamahata Acked-by: Simon Horman (cherry picked from commit 7b4b8f46343223f67d952f6284d65de4d79e40f0) --- hw/pass-through.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/hw/pass-through.c b/hw/pass-through.c index fadd358f..5a76e8da 100644 --- a/hw/pass-through.c +++ b/hw/pass-through.c @@ -329,11 +329,23 @@ static struct pt_reg_info_tbl pt_emu_reg_header0_tbl[] = { .init_val = 0x00, .ro_mask = 0x00, .emu_mask = 0xFF, - .init = pt_header_type_reg_init, + .init = pt_common_reg_init, .u.b.read = pt_byte_reg_read, .u.b.write = pt_byte_reg_write, .u.b.restore = pt_byte_reg_restore, }, + /* Header Type reg */ + { + .offset = PCI_HEADER_TYPE, + .size = 1, + .init_val = 0x00, + .ro_mask = 0xFF, + .emu_mask = 0x00, + .init = pt_header_type_reg_init, + .u.b.read = pt_byte_reg_read, + .u.b.write = pt_byte_reg_write, + .u.b.restore = NULL, + }, /* Interrupt Line reg */ { .offset = PCI_INTERRUPT_LINE, -- 2.39.5