Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4956aa3b authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

Merge tag 'kvm-s390-next-4.17-1' of...

Merge tag 'kvm-s390-next-4.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

KVM: s390: fixes and features

- more kvm stat counters
- virtio gpu plumbing. The 3 non-KVM/s390 patches have Acks from
  Bartlomiej Zolnierkiewicz, Heiko Carstens and Greg Kroah-Hartman
  but all belong together to make virtio-gpu work as a tty. So
  I carried them in the KVM/s390 tree.
- document some KVM_CAPs
- cpu-model only facilities
- cleanups
parents 2d7921c4 ccc40c53
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -4555,3 +4555,33 @@ Parameters: none
This capability indicates if the flic device will be able to get/set the
AIS states for migration via the KVM_DEV_FLIC_AISM_ALL attribute and allows
to discover this without having to create a flic device.

8.14 KVM_CAP_S390_PSW

Architectures: s390

This capability indicates that the PSW is exposed via the kvm_run structure.

8.15 KVM_CAP_S390_GMAP

Architectures: s390

This capability indicates that the user space memory used as guest mapping can
be anywhere in the user memory address space, as long as the memory slots are
aligned and sized to a segment (1MB) boundary.

8.16 KVM_CAP_S390_COW

Architectures: s390

This capability indicates that the user space memory used as guest mapping can
use copy-on-write semantics as well as dirty pages tracking via read-only page
tables.

8.17 KVM_CAP_S390_BPB

Architectures: s390

This capability indicates that kvm will implement the interfaces to handle
reset, migration and nested KVM for branch prediction blocking. The stfle
facility 82 should not be provided to the guest without this capability.
+24 −4
Original line number Diff line number Diff line
@@ -294,6 +294,7 @@ struct kvm_vcpu_stat {
	u64 exit_userspace;
	u64 exit_null;
	u64 exit_external_request;
	u64 exit_io_request;
	u64 exit_external_interrupt;
	u64 exit_stop_request;
	u64 exit_validity;
@@ -310,16 +311,29 @@ struct kvm_vcpu_stat {
	u64 exit_program_interruption;
	u64 exit_instr_and_program;
	u64 exit_operation_exception;
	u64 deliver_ckc;
	u64 deliver_cputm;
	u64 deliver_external_call;
	u64 deliver_emergency_signal;
	u64 deliver_service_signal;
	u64 deliver_virtio_interrupt;
	u64 deliver_virtio;
	u64 deliver_stop_signal;
	u64 deliver_prefix_signal;
	u64 deliver_restart_signal;
	u64 deliver_program_int;
	u64 deliver_io_int;
	u64 deliver_program;
	u64 deliver_io;
	u64 deliver_machine_check;
	u64 exit_wait_state;
	u64 inject_ckc;
	u64 inject_cputm;
	u64 inject_external_call;
	u64 inject_emergency_signal;
	u64 inject_mchk;
	u64 inject_pfault_init;
	u64 inject_program;
	u64 inject_restart;
	u64 inject_set_prefix;
	u64 inject_stop_signal;
	u64 instruction_epsw;
	u64 instruction_gs;
	u64 instruction_io_other;
@@ -644,7 +658,12 @@ struct kvm_vcpu_arch {
};

struct kvm_vm_stat {
	ulong remote_tlb_flush;
	u64 inject_io;
	u64 inject_float_mchk;
	u64 inject_pfault_done;
	u64 inject_service_signal;
	u64 inject_virtio;
	u64 remote_tlb_flush;
};

struct kvm_arch_memory_slot {
@@ -792,6 +811,7 @@ struct kvm_arch{
	int css_support;
	int use_irqchip;
	int use_cmma;
	int use_pfmfi;
	int user_cpu_state_ctrl;
	int user_sigp;
	int user_stsi;
+2 −2
Original line number Diff line number Diff line
@@ -22,8 +22,8 @@ typedef struct {
	unsigned int has_pgste:1;
	/* The mmu context uses storage keys. */
	unsigned int use_skey:1;
	/* The mmu context uses CMMA. */
	unsigned int use_cmma:1;
	/* The mmu context uses CMM. */
	unsigned int uses_cmm:1;
} mm_context_t;

#define INIT_MM_CONTEXT(name)						   \
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ static inline int init_new_context(struct task_struct *tsk,
		(current->mm && current->mm->context.alloc_pgste);
	mm->context.has_pgste = 0;
	mm->context.use_skey = 0;
	mm->context.use_cmma = 0;
	mm->context.uses_cmm = 0;
#endif
	switch (mm->context.asce_limit) {
	case _REGION2_SIZE:
+2 −0
Original line number Diff line number Diff line
@@ -221,6 +221,8 @@ static void __init conmode_default(void)
		SET_CONSOLE_SCLP;
#endif
	}
	if (IS_ENABLED(CONFIG_VT) && IS_ENABLED(CONFIG_DUMMY_CONSOLE))
		conswitchp = &dummy_con;
}

#ifdef CONFIG_CRASH_DUMP
Loading