Displaying 20 results from an estimated 79 matches for "hypervisor_physdev_op".
2012 Sep 14
3
memory corruption in HYPERVISOR_physdev_op()
Hi Jeremy,
My static analyzer complains about potential memory corruption in
HYPERVISOR_physdev_op()
arch/x86/include/asm/xen/hypercall.h
389 static inline int
390 HYPERVISOR_physdev_op(int cmd, void *arg)
391 {
392 int rc = _hypercall2(int, physdev_op, cmd, arg);
393 if (unlikely(rc == -ENOSYS)) {
394 struct physdev_op op;
395...
2012 Sep 14
3
memory corruption in HYPERVISOR_physdev_op()
Hi Jeremy,
My static analyzer complains about potential memory corruption in
HYPERVISOR_physdev_op()
arch/x86/include/asm/xen/hypercall.h
389 static inline int
390 HYPERVISOR_physdev_op(int cmd, void *arg)
391 {
392 int rc = _hypercall2(int, physdev_op, cmd, arg);
393 if (unlikely(rc == -ENOSYS)) {
394 struct physdev_op op;
395...
2012 Sep 14
3
memory corruption in HYPERVISOR_physdev_op()
Hi Jeremy,
My static analyzer complains about potential memory corruption in
HYPERVISOR_physdev_op()
arch/x86/include/asm/xen/hypercall.h
389 static inline int
390 HYPERVISOR_physdev_op(int cmd, void *arg)
391 {
392 int rc = _hypercall2(int, physdev_op, cmd, arg);
393 if (unlikely(rc == -ENOSYS)) {
394 struct physdev_op op;
395...
2013 Jul 22
11
[PATCH] xen: arm: document which hypercalls (and subops) are supported on ARM
...perations, with the exception of:
+ * * SCHEDOP_block -- prefer wfi hardware instruction
+ *
+ * HYPERVISOR_console_io
+ * All generic sub-operations
+ *
+ * HYPERVISOR_xen_version
+ * All generic sub-operations
+ *
+ * HYPERVISOR_event_channel_op
+ * All generic sub-operations
+ *
+ * HYPERVISOR_physdev_op
+ * No sub-operations are currenty supported
+ *
+ * HYPERVISOR_sysctl
+ * All generic sub-operations, with the exception of:
+ * * XEN_SYSCTL_page_offline_op
+ * * XEN_SYSCTL_get_pmstat
+ * * XEN_SYSCTL_pm_op
+ *
+ * HYPERVISOR_hvm_op
+ * Exactly these sub-operations are supported...
2013 Jan 30
2
[PATCH] PVH: remove code to map iomem from guest
...xen_set_pte(ptep, pteval);
}
-void xen_set_clr_mmio_pvh_pte(unsigned long pfn, unsigned long mfn,
- int nr_mfns, int add_mapping)
-{
- struct physdev_map_iomem iomem;
-
- iomem.first_gfn = pfn;
- iomem.first_mfn = mfn;
- iomem.nr_mfns = nr_mfns;
- iomem.add_mapping = add_mapping;
-
- if (HYPERVISOR_physdev_op(PHYSDEVOP_map_iomem, &iomem))
- BUG();
-}
-
static void xen_set_pte_at(struct mm_struct *mm, unsigned long addr,
pte_t *ptep, pte_t pteval)
{
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 7e93ec9..6532172 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@...
2012 Sep 18
4
[PATCH] EHCI/Xen: propagate controller reset information to hypervisor
...ype) {
+ const struct pci_dev *pdev = to_pci_dev(ctrlr);
+
+ dbgp.u.pci.seg = pci_domain_nr(pdev->bus);
+ dbgp.u.pci.bus = pdev->bus->number;
+ dbgp.u.pci.devfn = pdev->devfn;
+ dbgp.bus = PHYSDEVOP_DBGP_BUS_PCI;
+ } else
+#endif
+ dbgp.bus = PHYSDEVOP_DBGP_BUS_UNKNOWN;
+
+ return HYPERVISOR_physdev_op(PHYSDEVOP_dbgp_op, &dbgp);
+}
+
+int xen_dbgp_reset_prep(struct usb_hcd *hcd)
+{
+ return xen_dbgp_op(hcd, PHYSDEVOP_DBGP_RESET_PREPARE);
+}
+
+int xen_dbgp_external_startup(struct usb_hcd *hcd)
+{
+ return xen_dbgp_op(hcd, PHYSDEVOP_DBGP_RESET_DONE);
+}
+
+#ifndef CONFIG_EARLY_PRINTK_DBGP
+#in...
2010 Feb 26
0
[Xen-devel] Crash during boot in Debian lenny default dom0 kernel (2.6.26-2-xen-686) / bugfix patch
...us = dev->bus->number;
- map_irq.msi_info.devfn = dev->devfn;
- map_irq.msi_info.entry_nr = entry_nr;
- map_irq.msi_info.msi = msi;
+ map_irq.bus = dev->bus->number;
+ map_irq.devfn = dev->devfn;
+ map_irq.entry_nr = entry_nr;
+ map_irq.table_base = table_base;
if ((rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq)))
printk(KERN_WARNING "map irq failed\n");
@@ -268,9 +284,9 @@
return map_irq.pirq;
}
-static int msi_map_vector(struct pci_dev *dev, int entry_nr, int msi)
+static int msi_map_vector(struct pci_dev *dev, int entry_nr, u64 table_base)
{
- return...
2020 Feb 18
2
[PATCH] x86/ioperm: add new paravirt function update_io_bitmap
..._cpu_ptr(&cpu_tss_rw);
+
+ native_tss_update_io_bitmap();
+
+ iobitmap.bitmap = (uint8_t *)(&tss->x86_tss) +
+ tss->x86_tss.io_bitmap_base;
+ if (tss->x86_tss.io_bitmap_base == IO_BITMAP_OFFSET_INVALID)
+ iobitmap.nr_ports = 0;
+ else
+ iobitmap.nr_ports = IO_BITMAP_BITS;
+
+ HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap, &iobitmap);
+}
+#endif
+
static void xen_io_delay(void)
{
}
@@ -1046,6 +1068,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
.write_idt_entry = xen_write_idt_entry,
.load_sp0 = xen_load_sp0,
+#ifdef CONFIG_X86_IOPL_IOPERM
+ .update_io_bitmap = xe...
2020 Feb 18
2
[PATCH] x86/ioperm: add new paravirt function update_io_bitmap
..._cpu_ptr(&cpu_tss_rw);
+
+ native_tss_update_io_bitmap();
+
+ iobitmap.bitmap = (uint8_t *)(&tss->x86_tss) +
+ tss->x86_tss.io_bitmap_base;
+ if (tss->x86_tss.io_bitmap_base == IO_BITMAP_OFFSET_INVALID)
+ iobitmap.nr_ports = 0;
+ else
+ iobitmap.nr_ports = IO_BITMAP_BITS;
+
+ HYPERVISOR_physdev_op(PHYSDEVOP_set_iobitmap, &iobitmap);
+}
+#endif
+
static void xen_io_delay(void)
{
}
@@ -1046,6 +1068,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
.write_idt_entry = xen_write_idt_entry,
.load_sp0 = xen_load_sp0,
+#ifdef CONFIG_X86_IOPL_IOPERM
+ .update_io_bitmap = xe...
2011 Dec 05
3
xen 4.0.1/w 2.6.32 swapper: page allocation failure
...c 2 01:29:39 xenhost-rack1 kernel: [4437064.012178]
[<ffffffff8135c557>] e1000_clean_rx_irq+0x212/0x2b7
Dec 2 01:29:39 xenhost-rack1 kernel: [4437064.012181]
[<ffffffff8135b11f>] e1000_clean+0x75/0x21f
Dec 2 01:29:39 xenhost-rack1 kernel: [4437064.012185]
[<ffffffff8127e67c>] ? HYPERVISOR_physdev_op+0x16/0x4c
Dec 2 01:29:39 xenhost-rack1 kernel: [4437064.012194]
[<ffffffff8107d4ca>] __do_softirq+0xee/0x1c4
Dec 2 01:29:39 xenhost-rack1 kernel: [4437064.012199]
[<ffffffff8103de2c>] call_softirq+0x1c/0x30
Dec 2 01:29:39 xenhost-rack1 kernel: [4437064.012202]
[<ffffffff8103f4bd&g...
2013 Oct 22
0
[PATCH 3/3] x86: Support compiling out userspace I/O (iopl and ioperm)
...tss_struct *tss,
xen_mc_issue(PARAVIRT_LAZY_CPU);
}
+#ifdef CONFIG_X86_IOPORT
static void xen_set_iopl_mask(unsigned mask)
{
struct physdev_set_iopl set_iopl;
@@ -919,6 +920,7 @@ static void xen_set_iopl_mask(unsigned mask)
set_iopl.iopl = (mask == 0) ? 1 : (mask >> 12) & 3;
HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
}
+#endif /* CONFIG_X86_IOPORT */
static void xen_io_delay(void)
{
@@ -1277,7 +1279,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
.write_idt_entry = xen_write_idt_entry,
.load_sp0 = xen_load_sp0,
+#ifdef CONFIG_X86_IOPORT
.set_iopl_...
2014 Mar 11
0
[PATCHv2 3/3] x86: Support compiling out userspace I/O (iopl and ioperm)
...tss_struct *tss,
xen_mc_issue(PARAVIRT_LAZY_CPU);
}
+#ifdef CONFIG_X86_IOPORT
static void xen_set_iopl_mask(unsigned mask)
{
struct physdev_set_iopl set_iopl;
@@ -920,6 +921,7 @@ static void xen_set_iopl_mask(unsigned mask)
set_iopl.iopl = (mask == 0) ? 1 : (mask >> 12) & 3;
HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
}
+#endif /* CONFIG_X86_IOPORT */
static void xen_io_delay(void)
{
@@ -1279,7 +1281,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
.write_idt_entry = xen_write_idt_entry,
.load_sp0 = xen_load_sp0,
+#ifdef CONFIG_X86_IOPORT
.set_iopl_...
2013 Oct 26
1
[PATCH 3/3] x86: Support compiling out userspace I/O (iopl and ioperm)
...>
> +#ifdef CONFIG_X86_IOPORT
> static void xen_set_iopl_mask(unsigned mask)
> {
> struct physdev_set_iopl set_iopl;
> @@ -919,6 +920,7 @@ static void xen_set_iopl_mask(unsigned mask)
> set_iopl.iopl = (mask == 0) ? 1 : (mask >> 12) & 3;
> HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
> }
> +#endif /* CONFIG_X86_IOPORT */
>
> static void xen_io_delay(void)
> {
> @@ -1277,7 +1279,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
> .write_idt_entry = xen_write_idt_entry,
> .load_sp0 = xen_...
2013 Oct 26
1
[PATCH 3/3] x86: Support compiling out userspace I/O (iopl and ioperm)
...>
> +#ifdef CONFIG_X86_IOPORT
> static void xen_set_iopl_mask(unsigned mask)
> {
> struct physdev_set_iopl set_iopl;
> @@ -919,6 +920,7 @@ static void xen_set_iopl_mask(unsigned mask)
> set_iopl.iopl = (mask == 0) ? 1 : (mask >> 12) & 3;
> HYPERVISOR_physdev_op(PHYSDEVOP_set_iopl, &set_iopl);
> }
> +#endif /* CONFIG_X86_IOPORT */
>
> static void xen_io_delay(void)
> {
> @@ -1277,7 +1279,9 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = {
> .write_idt_entry = xen_write_idt_entry,
> .load_sp0 = xen_...
2013 Oct 22
9
[PATCH 0/3] x86: Support compiling out userspace I/O (iopl and ioperm)
This patch series makes it possible to compile out the iopl and ioperm system
calls, which allow privileged processes to request permission to directly poke
I/O ports from userspace.
Nothing on a modern Linux system uses these calls anymore, and anything new
should be using /dev/port instead, or better yet writing a driver.
Copying the bloat-o-meter stats from the final patch:
32-bit
2013 Oct 22
9
[PATCH 0/3] x86: Support compiling out userspace I/O (iopl and ioperm)
This patch series makes it possible to compile out the iopl and ioperm system
calls, which allow privileged processes to request permission to directly poke
I/O ports from userspace.
Nothing on a modern Linux system uses these calls anymore, and anything new
should be using /dev/port instead, or better yet writing a driver.
Copying the bloat-o-meter stats from the final patch:
32-bit
2008 Nov 13
69
[PATCH 00 of 38] xen: add more Xen dom0 support
Hi Ingo,
Here''s the chunk of patches to add Xen Dom0 support (it''s probably
worth creating a new xen/dom0 topic branch for it).
A dom0 Xen domain is basically the same as a normal domU domain, but
it has extra privileges to directly access hardware. There are two
issues to deal with:
- translating to and from the domain''s pseudo-physical addresses and
real machine
2011 Nov 13
8
ioperm problem
Hi,
I''m trying to port AMD VGA passthru patch to the latest XEN and vanila kernel
and I got SIGSEGV in
static void ati_hw_out(uint16_t hport, uint32_t data)
{
ioperm(gfx_info.host_pio_base, gfx_info.pio_size, 1);
asm volatile ("out %1, %0"::"Nd"(hport),"a"(data));
ioperm(gfx_info.host_pio_base, gfx_info.pio_size, 0);
}
I tried old 2.6.32
2008 Apr 30
23
[PATCH 00/23] ia64/xen domU take 5
Hi. This patchset implements ia64/xen domU support based on
ia64/pv_ops frame work which was sent as another patchest.
This patchset does the followings.
- Some preparation work. Mainly importing header files to define
related structures.
- Then, define functions related to hypercall which is the way to
communicate with Xen hypervisor.
- Add some helper functions which is necessary to
2008 Apr 30
23
[PATCH 00/23] ia64/xen domU take 5
Hi. This patchset implements ia64/xen domU support based on
ia64/pv_ops frame work which was sent as another patchest.
This patchset does the followings.
- Some preparation work. Mainly importing header files to define
related structures.
- Then, define functions related to hypercall which is the way to
communicate with Xen hypervisor.
- Add some helper functions which is necessary to