search for: kvm_hypercall3

Displaying 18 results from an estimated 18 matches for "kvm_hypercall3".

Did you mean: kvm_hypercall1
2020 Aug 11
0
[PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers
...- unsigned long p2) +static __always_inline long kvm_hypercall2(unsigned int nr, unsigned long p1, + unsigned long p2) { long ret; asm volatile(KVM_HYPERCALL @@ -61,8 +61,8 @@ static inline long kvm_hypercall2(unsigned int nr, unsigned long p1, return ret; } -static inline long kvm_hypercall3(unsigned int nr, unsigned long p1, - unsigned long p2, unsigned long p3) +static __always_inline long kvm_hypercall3(unsigned int nr, unsigned long p1, + unsigned long p2, unsigned long p3) { long ret; asm volatile(KVM_HYPERCALL @@ -72,9 +72,9 @@ static inline long kvm_hypercall3(u...
2009 Apr 19
0
[PULL] lguest & virtio fixes
...void lguest_load_gdt(const struct desc_ptr *desc) { - BUG_ON((desc->size + 1) / 8 != GDT_ENTRIES); - kvm_hypercall2(LHCALL_LOAD_GDT, __pa(desc->address), GDT_ENTRIES); + unsigned int i; + struct desc_struct *gdt = (void *)desc->address; + + for (i = 0; i < (desc->size+1)/8; i++) + kvm_hypercall3(LHCALL_LOAD_GDT_ENTRY, i, gdt[i].a, gdt[i].b); } /* For a single GDT entry which changes, we do the lazy thing: alter our GDT, @@ -291,7 +291,9 @@ static void lguest_write_gdt_entry(struct desc_struct *dt, int entrynum, const void *desc, int type) { native_write_gdt_entry(dt, entrynu...
2009 Apr 19
0
[PULL] lguest & virtio fixes
...void lguest_load_gdt(const struct desc_ptr *desc) { - BUG_ON((desc->size + 1) / 8 != GDT_ENTRIES); - kvm_hypercall2(LHCALL_LOAD_GDT, __pa(desc->address), GDT_ENTRIES); + unsigned int i; + struct desc_struct *gdt = (void *)desc->address; + + for (i = 0; i < (desc->size+1)/8; i++) + kvm_hypercall3(LHCALL_LOAD_GDT_ENTRY, i, gdt[i].a, gdt[i].b); } /* For a single GDT entry which changes, we do the lazy thing: alter our GDT, @@ -291,7 +291,9 @@ static void lguest_write_gdt_entry(struct desc_struct *dt, int entrynum, const void *desc, int type) { native_write_gdt_entry(dt, entrynu...
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...*vq, u32 data) > { > struct virtio_ccw_vq_info *info = vq->priv; > struct virtio_ccw_device *vcdev; > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, > *((unsigned int *)&schid), > - vq->index, info->cookie); > + data, info->cookie); > if (info->cookie < 0) > return false; > return true; > } > > +static bool virtio_ccw_kvm_notify(struct...
2023 Mar 21
1
[PATCH v2] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
On Tue, Mar 21, 2023 at 12:00:42PM +0300, Viktor Prutyanov wrote: > On Tue, Mar 21, 2023 at 5:29?AM Jason Wang <jasowang at redhat.com> wrote: > > > > On Tue, Mar 21, 2023 at 7:21?AM Viktor Prutyanov <viktor at daynix.com> wrote: > > > > > > According to VirtIO spec v1.2, VIRTIO_F_NOTIFICATION_DATA feature > > > indicates that the driver passes
2023 Mar 23
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...nfo *info = vq->priv; > > > struct virtio_ccw_device *vcdev; > > > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > > > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > > > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, > > > *((unsigned int *)&schid), > > > - vq->index, info->cookie); > > > + data, info->cookie); > > > if (info-&...
2020 Aug 05
9
[PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers
On Wed, Aug 05, 2020 at 03:59:40PM +0200, Marco Elver wrote: > On Wed, Aug 05, 2020 at 03:42PM +0200, peterz at infradead.org wrote: > > Shouldn't we __always_inline those? They're going to be really small. > > I can send a v2, and you can choose. For reference, though: > > ffffffff86271ee0 <arch_local_save_flags>: > ffffffff86271ee0: 0f 1f 44 00 00
2020 Aug 05
9
[PATCH] x86/paravirt: Add missing noinstr to arch_local*() helpers
On Wed, Aug 05, 2020 at 03:59:40PM +0200, Marco Elver wrote: > On Wed, Aug 05, 2020 at 03:42PM +0200, peterz at infradead.org wrote: > > Shouldn't we __always_inline those? They're going to be really small. > > I can send a v2, and you can choose. For reference, though: > > ffffffff86271ee0 <arch_local_save_flags>: > ffffffff86271ee0: 0f 1f 44 00 00
2023 Mar 21
0
[PATCH v3] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
..., VIRTIO_F_NOTIFICATION_DATA) ? > + vring_notification_data(vq) : vq->index; > > vcdev = to_vc_device(info->vq->vdev); > ccw_device_get_schid(vcdev->cdev, &schid); > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, > *((unsigned int *)&schid), > - vq->index, info->cookie); > + data, info->cookie); > if (info->cookie < 0) > return false; > return true; > diff --git a/drivers/virtio/virtio_mmio.c b/drivers/vi...
2023 Mar 23
0
[PATCH v5] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...*vq, u32 data) > { > struct virtio_ccw_vq_info *info = vq->priv; > struct virtio_ccw_device *vcdev; > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, > *((unsigned int *)&schid), > - vq->index, info->cookie); > + data, info->cookie); > if (info->cookie < 0) > return false; > return true; > } > > +static bool virtio_ccw_kvm_notify(struct...
2023 Mar 22
1
[PATCH v4] virtio: add VIRTIO_F_NOTIFICATION_DATA feature support
...*vq, u32 data) > { > struct virtio_ccw_vq_info *info = vq->priv; > struct virtio_ccw_device *vcdev; > @@ -402,12 +402,22 @@ static bool virtio_ccw_kvm_notify(struct virtqueue *vq) > BUILD_BUG_ON(sizeof(struct subchannel_id) != sizeof(unsigned int)); > info->cookie = kvm_hypercall3(KVM_S390_VIRTIO_CCW_NOTIFY, > *((unsigned int *)&schid), > - vq->index, info->cookie); > + data, info->cookie); > if (info->cookie < 0) > return false; > return true; > } > > +static bool virtio_ccw_kvm_notify(stru...
2008 Mar 20
2
[RFC/PATCH 15/15] guest: virtio device support, and kvm hypercalls
...sm("3") = p2; + register long __rc asm("2"); + + asm volatile ("diag 2,4,0x500\n" + : "=d" (__rc) : "d" (__nr), "0" (__p1), "d" (__p2) + : "memory", "cc"); + return __rc; +} + +static inline long kvm_hypercall3(unsigned long nr, unsigned long p1, + unsigned long p2, unsigned long p3) +{ + register unsigned long __nr asm("1") = nr; + register unsigned long __p1 asm("2") = p1; + register unsigned long __p2 asm("3") = p2; + register unsigned long __p3 asm("4")...
2008 Mar 20
2
[RFC/PATCH 15/15] guest: virtio device support, and kvm hypercalls
...sm("3") = p2; + register long __rc asm("2"); + + asm volatile ("diag 2,4,0x500\n" + : "=d" (__rc) : "d" (__nr), "0" (__p1), "d" (__p2) + : "memory", "cc"); + return __rc; +} + +static inline long kvm_hypercall3(unsigned long nr, unsigned long p1, + unsigned long p2, unsigned long p3) +{ + register unsigned long __nr asm("1") = nr; + register unsigned long __p1 asm("2") = p1; + register unsigned long __p2 asm("3") = p2; + register unsigned long __p3 asm("4")...
2019 Apr 04
1
Proof of concept for GPU forwarding for Linux guest on Linux host.
Hi, This is a proof of concept of GPU forwarding for Linux guest on Linux host. I'd like to get comments and suggestions from community before I put more time on it. To summarize what it is: 1. It's a solution to bring GPU acceleration for Linux vm guest on Linux host. It could works with different GPU although the current proof of concept only works with Intel GPU. 2. The basic idea
2008 Mar 20
34
[RFC/PATCH 00/15] kvm on big iron
This patch series introduces a backend for kvm to run on IBM System z machines that uses the mainframe's sie virtualization capability. This work runs 64bit guests on z800/z890/z900/z990/z9/z10 class machines with a 64bit linux host. Userspace will follow once we're done brushing it over. The patch queue consists of the following patches, which can be applied in sequence on top of kvm.git
2008 Mar 20
34
[RFC/PATCH 00/15] kvm on big iron
This patch series introduces a backend for kvm to run on IBM System z machines that uses the mainframe's sie virtualization capability. This work runs 64bit guests on z800/z890/z900/z990/z9/z10 class machines with a 64bit linux host. Userspace will follow once we're done brushing it over. The patch queue consists of the following patches, which can be applied in sequence on top of kvm.git
2019 Aug 09
117
[RFC PATCH v6 00/92] VM introspection
The KVM introspection subsystem provides a facility for applications running on the host or in a separate VM, to control the execution of other VM-s (pause, resume, shutdown), query the state of the vCPUs (GPRs, MSRs etc.), alter the page access bits in the shadow page tables (only for the hardware backed ones, eg. Intel's EPT) and receive notifications when events of interest have taken place
2019 Aug 09
117
[RFC PATCH v6 00/92] VM introspection
The KVM introspection subsystem provides a facility for applications running on the host or in a separate VM, to control the execution of other VM-s (pause, resume, shutdown), query the state of the vCPUs (GPRs, MSRs etc.), alter the page access bits in the shadow page tables (only for the hardware backed ones, eg. Intel's EPT) and receive notifications when events of interest have taken place