On Mon, 2005-10-10 at 21:57 +0200, Christian Borntraeger wrote: > > You missed the point. > > The point is that neither 'vmcp' nor /dev/vmcp offer even a hint of > > the underlying DIAG interface. Both 'vmcp' and /dev/vmcp obscure > > the DIAG interface from the very programmers who should see it. > > > > In the CPINT case, yes, 'hcp' hides the DIAG details. > > That's as it should be. > > Ah, now I get you. You are moving beyond cpint/vmcp and you want a generic > > diagnose interface which currently does not exist, right? > At least I havent found a diag8 device in cpint which does not hide > details. > Am I still missing your intention?
Sorry to burst bubbles here. A generic diag interface doesn't make sense. diag is a way to "call" the hypervisor from the guest kernel to do something. What is done by the diag is up to the inventor of the particular diagnose call. We are facing a number of problems here: 1) It depends on the diagnose how many and which registers are used 2) The semantics of the register contents depends on the diagnose. In particular if one of the registers passed to the diag points to memory then which piece of memory is meant? Usually the diag instructions take real memory as input. The application that calls the diag service only knows about virtual addresses. Who "converts" the virtual memory to a real memory? You need to know about the semantics of the diagnose to be able to do that. There are even diagnoses where the memory passed to the diagnose contains additional pointers to more real memory. 3) The diagnoses do wildly different things. It is NOT a good idea to have a single device driver that does a lot of different things. Each function or group of functions that logically belong together should be embedded in a stand-alone driver that can be used independently of all the other functions. 4) Some of the diagnoses have side effects on other subsystems. E.g. the diag250 does block i/o on a dasd, which naturally interferes with the dasd driver. -- blue skies, Martin Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH ---------------------------------------------------------------------- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390