US 7,552,436 B2
Memory mapped input/output virtualization
Frank William Brice, Jr., Hurley, N.Y. (US); Richard K. Errickson, Poughkeepsie, N.Y. (US); Mark S. Farrell, Pleasant Valley, N.Y. (US); Charles W. Gainey, Jr., Poughkeepsie, N.Y. (US); Thomas A. Gregg, Highland, N.Y. (US); Carol B. Hernandez, Poughkeepsie, N.Y. (US); Damian L. Osisek, Vestal, N.Y. (US); and Donald W. Schmidt, Stone Ridge, N.Y. (US)
Assigned to International Business Machines, Armonk, N.Y. (US)
Filed on Nov. 25, 2003, as Appl. No. 10/723,405.
Prior Publication US 2005/0114586 A1, May 26, 2005
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/46 (2006.01); G06F 3/00 (2006.01)
U.S. Cl. 718—104  [710/3; 710/5] 17 Claims
OG exemplary drawing
 
1. A method of performing memory mapped input output operations to an alternate address space comprising:
establishing a first instruction directed to a first memory mapped input output alternate address space associated with an adapter to store data in accordance with resource address designation, said resource address designation configured for decomposition thereof such that said first memory mapped input output alternate address space associated with said adapter is accessible;
establishing a second instruction directed to said first memory mapped input output alternate address space associated with an adapter to load data in accordance with said resource address designation;
allocating, through a host program, at least one of a real resource and a virtual resource associated with said first memory mapped input output alternate address space to a guest program started by the host program;
ensuring that a process executed by the guest program corresponds to said at least one of the real resource and the virtual resource allocated to the guest program, in a manner that is not visible to the quest program; and
wherein said process issues at least one of said first instruction and said second instruction and thereby causes execution of at least one of said store and load with said first memory mapped input output alternate address space.