History

KVM: s390: Add support for channel I/O instructions.

Add a new capability, KVM_CAP_S390_CSS_SUPPORT, which will pass intercepts for channel I/O instructions to userspace. Only I/O instructions interacting with I/O interrupts need to be handled in-kernel: - TEST PENDING INTERRUPTION (tpi) dequeues and stores pending interrupts entirely in-kernel. - TEST SUBCHANNEL (tsch) dequeues pending interrupts in-kernel and exits via KVM_EXIT_S390_TSCH to userspace for subchannel- related processing.

Cornelia Huck committed 13 years ago

Commit fa6b7fe1 parent d6712df10 files · +202 −5Browse files

Showing the changes to include/uapi/linux (1 of 10 files). Show all

Unified · Split

include/uapi/linux/kvm.h+11−0
@@ -168,6 +168,7 @@ struct kvm_pit_config { · 167 unmodified lines
168#define KVM_EXIT_PAPR_HCALL 19168#define KVM_EXIT_PAPR_HCALL 19
169#define KVM_EXIT_S390_UCONTROL 20169#define KVM_EXIT_S390_UCONTROL 20
170#define KVM_EXIT_WATCHDOG 21170#define KVM_EXIT_WATCHDOG 21
171#define KVM_EXIT_S390_TSCH 22
171 172
172/* For KVM_EXIT_INTERNAL_ERROR */173/* For KVM_EXIT_INTERNAL_ERROR */
173/* Emulate instruction failed. */174/* Emulate instruction failed. */
@@ -285,6 +286,15 @@ struct kvm_run { · 111 unmodified lines
285 __u64 ret;286 __u64 ret;
286 __u64 args[9];287 __u64 args[9];
287 } papr_hcall;288 } papr_hcall;
289 /* KVM_EXIT_S390_TSCH */
290 struct {
291 __u16 subchannel_id;
292 __u16 subchannel_nr;
293 __u32 io_int_parm;
294 __u32 io_int_word;
295 __u32 ipb;
296 __u8 dequeued;
297 } s390_tsch;
288 /* Fix the size of the union. */298 /* Fix the size of the union. */
289 char padding[256];299 char padding[256];
290 };300 };
@@ -645,6 +655,7 @@ struct kvm_ppc_smmu_info { · 354 unmodified lines
645#define KVM_CAP_IRQFD_RESAMPLE 82655#define KVM_CAP_IRQFD_RESAMPLE 82
646#define KVM_CAP_PPC_BOOKE_WATCHDOG 83656#define KVM_CAP_PPC_BOOKE_WATCHDOG 83
647#define KVM_CAP_PPC_HTAB_FD 84657#define KVM_CAP_PPC_HTAB_FD 84
658#define KVM_CAP_S390_CSS_SUPPORT 85
648 659
649#ifdef KVM_CAP_IRQ_ROUTING660#ifdef KVM_CAP_IRQ_ROUTING
650 661

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t