Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
130 words
In a data processing system including means for storing programs, CPU means responsive to the programs for processing the data, and an input/output structure (12) responsive to the programs for communicating information between the system and external devices, means for emulating the input/output structure of another system, comprising: means (130, 138, 140) for storing routines for directing operation of the system input/output structure (12) in a manner as to emulate operation of the input/output structure of the other system, interrupt means (128) responsive to the programs for detecting the occurrence of foreign input/output operation requests and generating corresponding non-maskable interrupts, and means (130, 158, 160, 162, 146, 148, 150, 152) responsive to the non-maskable interrupts and to the corresponding foreign input/output requests for selecting and initiating corresponding input/output emulation routines.
Claim 2
Dependent Claim
130 words
In a data processing system including means for storing programs, CPU means responsive to the programs for processing the data, and an input/output structure (12) responsive to the programs for communicating information between the system and external devices, means for emulating the input/output structure of another system, comprising: means (130, 138, 140) for storing routines for directing operation of the system input/output structure (12) in a manner as to emulate operation of the input/output structure of the other system, interrupt means (128) responsive to the programs for detecting the occurrence of foreign input/output operation requests and generating corresponding non-maskable interrupts, and means (130, 158, 160, 162, 146, 148, 150, 152) responsive to the non-maskable interrupts and to the corresponding foreign input/output requests for selecting and initiating corresponding input/output emulation routines.
Claim 3
Dependent Claim
69 words
The emulation means of claim 1, wherein the interrupt means (128) includes: input/output request detection means (132) responsive to the programs for indicating the occurrences and types of input/output requests, and the interrupt means (128) for detecting foreign input/output requests includes means (134, 136) responsive to the input/output request detection means (132) for detecting requests not normally recognized by the system input/output structure (12) and providing corresponding non-maskable interrupts.
Claim 4
Dependent Claim
161 words
The emulation means of claim 2, wherein: the input/output structure (12) of the system includes input/output devices having ports (70, 72, 74, 76, 78, 48) occupying a first range of the system address space and wherein the input/output devices of the other system have ports located within a second, differing range of address space, the request detection means (132) includes means (29) for comparing input/output request port addresses to the range of port addresses occupied by the system input/output devices and indicating when a port address is within the range of address space occupied by the system input/output devices, and the interrupt means (128) for detecting foreign input/output requests includes means (134, 136) responsive to operation of the request detection means (132) for detecting the occurrence of input/output requests not accompanied by corresponding indications of port addresses within the range of address space occupied by the system input/output devices and providing corresponding non-maskable interrupts upon occurrence of each such input/output request.
Claim 5
Dependent Claim
54 words
The emulation means of claim 1, further comprising: means (158, 160, 162) responsive to the non-maskable interrupts for storing information pertaining to the foreign input/output requests, the means (146, 148, 150, 152) for selecting and initiating emulation routines being further responsive to the stored input/output request information in selecting the corresponding input/output emulation routines.
Claim 6
Dependent Claim
104 words
The emulation means of claim 4, wherein the input/output structure (12) of the system includes input/output devices having ports (48, 70, 72, 74, 76, 78) occupying a first range of the system address space and wherein the input/output devices of the other system have ports located within a second, differing range of address space, and the means for storing request information includes first register means (158) for storing port addresses of foreign input/output requests, and second register means (162) for storing status information pertaining to foreign input/output requests, including an indication whether a foreign input/output request is for a read or a write operation.
Claim 7
Dependent Claim
33 words
The emulation means of claim 5, wherein the means for storing further includes: third register means (160) for storing the data to be written when an input/output request is for a write operation.
Claim 8
Dependent Claim
176 words
The emulation means of claim 1, wherein the selecting and initiating means comprises: class table means (150, 152) for storing addresses of emulation routines stored in the routine storing means, the emulation routine addresses stored in the class table means (150, 152) being structured into classes, each class containing the addresses of a corresponding group of foreign input/output operations, and dispatch table means (146, 148) for storing index addresses, each index address corresponding to a group of emulation routines and identifying the location in the class table means (150, 152) of the corresponding class of emulation routine addresses, the dispatch table (146, 148) means being responsive to a first portion of each foreign input/output request for providing a corresponding index address of the corresponding class of addresses stored in the class table means (150, 152), and the class table means (150, 152) responsive to a second portion of each foreign input/output request and to the corresponding index address for providing a corresponding emulation routine address to select and initiate execution of the corresponding emulation routine address.
Claim 9
Dependent Claim
95 words
The emulation means of claim 7, wherein: each foreign input/output request including a port address identifying the location of a corresponding input/output device within the address space of the other system and corresponding to the type of input/output operation requested, the means for storing request information includes first register means (158) for storing port addresses of foreign input/output requests, and the first portion of a foreign input/output request is a first portion of the request port address, and the second portion of a foreign input/output request is a second portion of the request port address.
Claim 10
Dependent Claim
74 words
The emulation means of claim 8, wherein the means for storing request information further includes second register means (162) for storing status information pertaining to foreign input/output requests, including an indication whether a foreign input/output request is for a read or a write operation, and the index means (146, 148) is further responsive to the status information identifying whether a request is for a read or write operation in providing the corresponding index address.
Claim 11
Dependent Claim
55 words
The emulation means of claim 1, wherein the emulation routines further including default routines corresponding to foreign input/output requests not having corresponding emulation routines, each default routine terminating the corresponding input/output request operation, the selecting and initiating means being responsive to requests not having corresponding emulation routines for selecting and executing a corresponding default routine.
Claim 12
Dependent Claim
153 words
The emulation means of claim 1, wherein the interrupt means (128) includes first interrupt means (164) responsive to interrupt requests provided by the programs directing operation of the system for providing corresponding first interrupt routines for directing corresponding first interrupt handling operations of the system, and second interrupt means (170) responsive to interrupt requests provided by the hardware elements of the system for providing corresponding second interrupt routines for directing corresponding second interrupt handling operations of the system, the interrupt means (128) further including means for emulating the corresponding second interrupt means of the other system, comprising: means (166) in the first interrupt means (164) for storing interrupt emulation routines for directing operation of the system in a manner as to emulate operation of the corresponding second interrupt means of the other system, and means (168) responsive to operation of the second interrupt means (170) for selecting and executing corresponding interrupt emulation routines.