Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 5 product line. The current stable release is 5.10. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 484152

Summary: VTd: changeset 13 of 16: emulate accesses to PCI regs cf8/crc
Product: Red Hat Enterprise Linux 5 Reporter: Don Dugger <ddugger>
Component: kernel-xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED WONTFIX QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: low    
Version: 5.4CC: knoel, xen-maint
Target Milestone: rc   
Target Release: 5.4   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-02-05 15:28:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 484151    
Bug Blocks: 331741, 484153    
Attachments:
Description Flags
emulate accesses to PCI regs cf8/crc none

Description Don Dugger 2009-02-05 00:08:41 UTC
Created attachment 330946 [details]
emulate accesses to PCI regs cf8/crc

Description of patch:

Emulate accesses to PCI window registers cf8/cfc to synchronise
with accesses by the hypervisor itself. All users of cf8/cfc go
through new access functions which take the appropriate spinlock.

Dom0 will access PCI window register cf8/cfc, now hypervisor also
accesses PCI configure space using PCI window register cf8/cfc for VT-d.
So it's possible that there is conflict, though the possibility is
very small. This patch emulates accesses to PCI window registers cf8/cfc
to synchronise with accesses by the hypervisor itself, then fixes the
issue.

BTW, there are still many changes on I/O port access between RHEL 5.4
and xen-unstable, the but they are not necessary for VT-d, we didn't
backport them, so you can find two difference between this patch and
xen-unstable: there are no check_guest_io_breakpoint() and
pv_post_outb_hook() in traps.c in RHEL 5.4.

Upstream Status: Accepted (CS 17441, 17465)

Comment 1 Don Dugger 2009-02-05 15:28:42 UTC
Process error, don't need a separate BZ per patch