| * Implementation of s390 diagnose codes |
| * Copyright IBM Corp. 2007 |
| * Author(s): Michael Holzheu <holzheu@de.ibm.com> |
| #include <linux/module.h> |
| * Diagnose 14: Input spool file manipulation |
| int diag14(unsigned long rx, unsigned long ry1, unsigned long subcode) |
| register unsigned long _ry1 asm("2") = ry1; |
| register unsigned long _ry2 asm("3") = subcode; |
| * Diagnose 210: Get information about a virtual device |
| int diag210(struct diag210 *addr) |
| * diag 210 needs its data below the 2GB border, so we |
| * use a static data area to be sure |
| static struct diag210 diag210_tmp; |
| static DEFINE_SPINLOCK(diag210_lock); |
| spin_lock_irqsave(&diag210_lock, flags); |
| : "=&d" (ccode) : "a" (&diag210_tmp) : "cc", "memory"); |
| : "=&d" (ccode) : "a" (&diag210_tmp) : "cc", "memory"); |
| spin_unlock_irqrestore(&diag210_lock, flags); |