Patent ID: 7401262
Filing Date: 2008-07-15
Classification: G06F

Abstract:
1. A method for interfacing with an operating system on a client computer system, the method comprising: connecting, using a data link, a host computer system directly to a processor core that is located in a processor chip in the client computer system, said host computer system separate and remote from said client computer system; the data link not requiring a connection to an input/output (I/O) subsystem component, an I/O controller, or I/O bridge in the client computer system; the data link including a service bus controller that is external to the client computer system, the host computer system communicating with the service bus controller using an Ethernet connection, the service bus controller communicating with the client computer system using a JTAG interface; allocating unused, JTAG-accessible registers in the processor in the client computer system to use as console registers for providing a low-level console interface to the host computer system, the registers located on the processor chip; including a 64-bit host output data word register, a 64-bit client output data word register, a client output register, and a host request register in the console registers; using the host output data word register by the host computer system to send data to the client computer system; using the client output data word register by the client computer system for storing data to send to the host computer system; assigning a plurality of client channels to a main memory in the client computer system; including a plurality of virtual channels in the host computer system; providing, by said plurality of client channels, data to said console registers; including a plurality of pairs of input and output buffers in the main memory of the client computer system; associating each one of said plurality of pairs of input and output buffers with a different one of the plurality of client channels; including, in said client output register, a separate bit for each one of the plurality of client channels; including, in said host request register, a separate select channel bit for each one of said plurality of client channels; transforming client bits in said client output register by: said client computer system setting said client bits and said host computer system clearing said client bits; transforming host bits in said host request register by: said host computer system setting said host bits and said client computer system clearing said host bits; a first one of said plurality of client channels producing first data; placing said first data in one of said plurality of output buffers that is associated with said first one of said plurality of client channels; setting said separate bit that is included in said client output register for said first one of said plurality of client channels; writing said first data to said client output data word register; wherein when said client output data word register includes first data, using said client bits to identify said first one of said plurality of channels that sent said first data; displaying said first data; and when said host output data word register includes second data, using said host bits to identify one of said plurality of channels to which to send said second data.