/qemu/hw/usb/ |
H A D | redirect.c | 2 * USB redirector usb-guest 4 * Copyright (c) 2011-2012 Red Hat, Inc. 36 #include "qemu/error-report.h" 39 #include "chardev/char-fe.h" 44 #include "hw/qdev-properties.h" 45 #include "hw/qdev-properties-system.h" 47 #include "migration/qemu-file-types.h" 56 #define EP2I(ep_address) (((ep_address & 0x80) >> 3) | (ep_address & 0x0f)) 57 #define I2EP(i) (((i & 0x10) << 3) | (i & 0x0f)) 58 #define USBEP2I(usb_ep) (((usb_ep)->pid == USB_TOKEN_IN) ? \ [all …]
|
H A D | desc.c | 7 /* ------------------------------------------------------------------ */ 9 int usb_desc_device(const USBDescID *id, const USBDescDevice *dev, in usb_desc_device() argument 12 uint8_t bLength = 0x12; in usb_desc_device() 16 return -1; in usb_desc_device() 19 d->bLength = bLength; in usb_desc_device() 20 d->bDescriptorType = USB_DT_DEVICE; in usb_desc_device() 22 if (msos && dev->bcdUSB < 0x0200) { in usb_desc_device() 25 * Done this way so msos-desc compat property will handle both in usb_desc_device() 28 d->u.device.bcdUSB_lo = usb_lo(0x0200); in usb_desc_device() 29 d->u.device.bcdUSB_hi = usb_hi(0x0200); in usb_desc_device() [all …]
|
H A D | core.c | 39 USBDevice *udev = port->dev; in usb_pick_speed() 42 for (i = 0; i < ARRAY_SIZE(speeds); i++) { in usb_pick_speed() 43 if ((udev->speedmask & (1 << speeds[i])) && in usb_pick_speed() 44 (port->speedmask & (1 << speeds[i]))) { in usb_pick_speed() 45 udev->speed = speeds[i]; in usb_pick_speed() 53 USBDevice *dev = port->dev; in usb_attach() local 55 assert(dev != NULL); in usb_attach() 56 assert(dev->attached); in usb_attach() 57 assert(dev->state == USB_STATE_NOTATTACHED); in usb_attach() 59 port->ops->attach(port); in usb_attach() [all …]
|
H A D | trace-events | 4 … int ep, void *p, const char *o, const char *n) "bus %d, port %s, ep %d, packet %p, state %s -> %s" 13 # hcd-ohci-pci.c 16 # hcd-ohci.c 17 usb_ohci_iso_td_read_failed(uint32_t addr) "ISO_TD read error at 0x%x" 18 …ISO_TD ED head 0x%.8x tailp 0x%.8x, flags 0x%.8x bp 0x%.8x next 0x%.8x be 0x%.8x, frame_number 0x%… 19 …nt32_t o4, uint32_t o5, uint32_t o6, uint32_t o7) "0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8… 20 usb_ohci_iso_td_relative_frame_number_neg(int rel) "ISO_TD R=%d < 0" 23 usb_ohci_iso_td_bad_bp_be(uint32_t bp, uint32_t be) "ISO_TD bp 0x%.8x be 0x%.8x" 24 …iso_td_bad_cc_not_accessed(uint32_t start, uint32_t next) "ISO_TD cc != not accessed 0x%.8x 0x%.8x" 25 …_td_bad_cc_overrun(uint32_t start, uint32_t next) "ISO_TD start_offset=0x%.8x > next_offset=0x%.8x" [all …]
|
/qemu/tests/qtest/libqos/ |
H A D | pci.c | 4 * Copyright IBM, Corp. 2012-2013 10 * See the COPYING file in the top-level directory. 19 #include "qemu/host-utils.h" 23 void (*func)(QPCIDevice *dev, int devfn, void *data), in qpci_device_foreach() argument 28 for (slot = 0; slot < 32; slot++) { in qpci_device_foreach() 31 for (fn = 0; fn < 8; fn++) { in qpci_device_foreach() 32 QPCIDevice *dev; in qpci_device_foreach() local 34 dev = qpci_device_find(bus, QPCI_DEVFN(slot, fn)); in qpci_device_foreach() 35 if (!dev) { in qpci_device_foreach() 39 if (vendor_id != -1 && in qpci_device_foreach() [all …]
|
H A D | virtio-pci-modern.c | 7 * See the COPYING file in the top-level directory. 11 #include "standard-headers/linux/pci_regs.h" 12 #include "standard-headers/linux/virtio_pci.h" 13 #include "standard-headers/linux/virtio_config.h" 14 #include "virtio-pci-modern.h" 18 QVirtioPCIDevice *dev = container_of(d, QVirtioPCIDevice, vdev); in config_readb() local 19 return qpci_io_readb(dev->pdev, dev->bar, dev->device_cfg_offset + addr); in config_readb() 24 QVirtioPCIDevice *dev = container_of(d, QVirtioPCIDevice, vdev); in config_readw() local 25 return qpci_io_readw(dev->pdev, dev->bar, dev->device_cfg_offset + addr); in config_readw() 30 QVirtioPCIDevice *dev = container_of(d, QVirtioPCIDevice, vdev); in config_readl() local [all …]
|
/qemu/hw/pci/ |
H A D | msi.c | 31 #define PCI_MSI_ADDRESS_LO_MASK (~0x3) 34 #define PCI_MSI_32_SIZEOF 0x0a 35 #define PCI_MSI_64_SIZEOF 0x0e 36 #define PCI_MSI_32M_SIZEOF 0x14 37 #define PCI_MSI_64M_SIZEOF 0x18 42 * Flag for interrupt controllers to declare broken MSI/MSI-X support. 43 * values: false - broken; true - non-broken. 45 * Setting this flag to false will remove MSI/MSI-X capability from all devices. 47 * It is preferable for controllers to set this to true (non-broken) even if 48 * they do not actually support MSI/MSI-X: guests normally probe the controller [all …]
|
H A D | pcie_sriov.c | 6 * Copyright (c) 2015-2017 Knut Omang <knut.omang@oracle.com> 9 * See the COPYING file in the top-level directory. 17 #include "hw/qdev-properties.h" 24 static void unparent_vfs(PCIDevice *dev, uint16_t total_vfs) in unparent_vfs() argument 26 for (uint16_t i = 0; i < total_vfs; i++) { in unparent_vfs() 27 PCIDevice *vf = dev->exp.sriov_pf.vf[i]; in unparent_vfs() 31 g_free(dev->exp.sriov_pf.vf); in unparent_vfs() 32 dev->exp.sriov_pf.vf = NULL; in unparent_vfs() 35 static void register_vfs(PCIDevice *dev) in register_vfs() argument 39 uint16_t sriov_cap = dev->exp.sriov_cap; in register_vfs() [all …]
|
H A D | msix.c | 2 * MSI-X device support 4 * This module includes support for MSI-X in pci devices. 11 * the COPYING file in the top-level directory. 13 * Contributions after 2012-01-13 are licensed under the terms of the 24 #include "migration/qemu-file-types.h" 37 static MSIMessage msix_prepare_message(PCIDevice *dev, unsigned vector) in msix_prepare_message() argument 39 uint8_t *table_entry = dev->msix_table + vector * PCI_MSIX_ENTRY_SIZE; in msix_prepare_message() 47 MSIMessage msix_get_message(PCIDevice *dev, unsigned vector) in msix_get_message() argument 49 return dev->msix_prepare_message(dev, vector); in msix_get_message() 56 void msix_set_message(PCIDevice *dev, int vector, struct MSIMessage msg) in msix_set_message() argument [all …]
|
H A D | pcie.c | 38 # define PCIE_DPRINTF(fmt, ...) do {} while (0) 40 #define PCIE_DEV_PRINTF(dev, fmt, ...) \ argument 41 PCIE_DPRINTF("%s:%x "fmt, (dev)->name, (dev)->devfn, ## __VA_ARGS__) 71 pcie_cap_v1_fill(PCIDevice *dev, uint8_t port, uint8_t type, uint8_t version) in pcie_cap_v1_fill() argument 73 uint8_t *exp_cap = dev->config + dev->exp.exp_cap; in pcie_cap_v1_fill() 74 uint8_t *cmask = dev->cmask + dev->exp.exp_cap; in pcie_cap_v1_fill() 77 interrupt message number defaults to 0 */ in pcie_cap_v1_fill() 83 * table 7-12: in pcie_cap_v1_fill() 91 if (dev->cap_present & QEMU_PCIE_EXT_TAG) { in pcie_cap_v1_fill() 111 pci_set_word(cmask + PCI_EXP_LNKSTA, 0); in pcie_cap_v1_fill() [all …]
|
H A D | pci-hmp-cmds.c | 10 * the COPYING file in the top-level directory. 12 * Contributions after 2012-01-13 are licensed under the terms of the 21 #include "pci-internal.h" 24 #include "qapi/qapi-commands-pci.h" 27 static void hmp_info_pci_device(Monitor *mon, const PciDeviceInfo *dev) in hmp_info_pci_device() argument 31 monitor_printf(mon, " Bus %2" PRId64 ", ", dev->bus); in hmp_info_pci_device() 33 dev->slot, dev->function); in hmp_info_pci_device() 36 if (dev->class_info->desc) { in hmp_info_pci_device() 37 monitor_puts(mon, dev->class_info->desc); in hmp_info_pci_device() 39 monitor_printf(mon, "Class %04" PRId64, dev->class_info->q_class); in hmp_info_pci_device() [all …]
|
/qemu/hw/ppc/ |
H A D | spapr_vio.c | 23 #include "qemu/error-report.h" 42 #define SPAPR_VIO_REG_BASE 0x71000000 46 SpaprVioDevice *dev = VIO_SPAPR_DEVICE(qdev); in spapr_vio_get_dev_name() local 47 SpaprVioDeviceClass *pc = VIO_SPAPR_DEVICE_GET_CLASS(dev); in spapr_vio_get_dev_name() 50 return g_strdup_printf("%s@%x", pc->dt_name, dev->reg); in spapr_vio_get_dev_name() 57 k->get_dev_path = spapr_vio_get_dev_name; in spapr_vio_bus_class_init() 58 k->get_fw_dev_path = spapr_vio_get_dev_name; in spapr_vio_bus_class_init() 71 SpaprVioDevice *dev = NULL; in spapr_vio_find_by_reg() local 73 QTAILQ_FOREACH(kid, &bus->bus.children, sibling) { in spapr_vio_find_by_reg() 74 dev = (SpaprVioDevice *)kid->child; in spapr_vio_find_by_reg() [all …]
|
/qemu/hw/net/ |
H A D | spapr_llan.c | 4 * PAPR Inter-VM Logical Lan, aka ibmveth 35 #include "hw/qdev-properties.h" 46 #define SPAPRVLAN_FLAG_RX_BUF_POOLS_BIT 0 55 #define VLAN_BD_VALID 0x8000000000000000ULL 56 #define VLAN_BD_TOGGLE 0x4000000000000000ULL 57 #define VLAN_BD_NO_CSUM 0x0200000000000000ULL 58 #define VLAN_BD_CSUM_GOOD 0x0100000000000000ULL 59 #define VLAN_BD_LEN_MASK 0x00ffffff00000000ULL 61 #define VLAN_BD_ADDR_MASK 0x00000000ffffffffULL 68 #define VLAN_RXQC_TOGGLE 0x80 [all …]
|
H A D | vhost_net.c | 2 * vhost-net support 10 * the COPYING file in the top-level directory. 12 * Contributions after 2012-01-13 are licensed under the terms of the 19 #include "net/vhost-user.h" 20 #include "net/vhost-vdpa.h" 22 #include "standard-headers/linux/vhost_types.h" 23 #include "hw/virtio/virtio-net.h" 26 #include "qemu/error-report.h" 27 #include "qemu/main-loop.h" 34 #include "standard-headers/linux/virtio_ring.h" [all …]
|
/qemu/tests/qtest/ |
H A D | pnv-host-i2c-test.c | 7 * later. See the COPYING file in the top-level directory. 13 #include "pnv-xscom.h" 15 #define PPC_BIT(bit) (0x8000000000000000ULL >> (bit)) 16 #define PPC_BIT32(bit) (0x80000000 >> (bit)) 17 #define PPC_BIT8(bit) (0x80 >> (bit)) 18 #define PPC_BITMASK(bs, be) ((PPC_BIT(bs) - PPC_BIT(be)) | PPC_BIT(bs)) 19 #define PPC_BITMASK32(bs, be) ((PPC_BIT32(bs) - PPC_BIT32(be)) | \ 22 #define MASK_TO_LSH(m) (__builtin_ffsll(m) - 1) 27 #define PNV10_XSCOM_I2CM_BASE 0xa0000 28 #define PNV10_XSCOM_I2CM_SIZE 0x1000 [all …]
|
H A D | ide-test.c | 30 #include "libqos/pci-pc.h" 31 #include "libqos/malloc-pc.h" 43 #define IDE_BASE 0x1f0 49 * Must be less than 0xFFFF. */ 53 reg_data = 0x0, 54 reg_feature = 0x1, 55 reg_error = 0x1, 56 reg_nsectors = 0x2, 57 reg_lba_low = 0x3, 58 reg_lba_middle = 0x4, [all …]
|
/qemu/subprojects/libvhost-user/ |
H A D | libvhost-user.c | 9 * Marc-André Lureau <mlureau@redhat.com> 13 * later. See the COPYING file in the top-level directory. 39 #include "standard-headers/linux/virtio_config.h" 57 #include "libvhost-user.h" 83 #define ALIGN_UP(n, m) ALIGN_DOWN((n) + (m) - 1, (m)) 86 #define unlikely(x) __builtin_expect(!!(x), 0) 97 #define LIBVHOST_USER_DEBUG 0 104 } while (0) 114 bool vu_has_feature(VuDev *dev, in vu_has_feature() argument 117 return has_feature(dev->features, fbit); in vu_has_feature() [all …]
|
/qemu/hw/virtio/ |
H A D | vhost.c | 10 * the COPYING file in the top-level directory. 12 * Contributions after 2012-01-13 are licensed under the terms of the 21 #include "qemu/error-report.h" 24 #include "standard-headers/linux/vhost_types.h" 25 #include "hw/virtio/virtio-bus.h" 26 #include "hw/mem/memory-device.h" 28 #include "migration/qemu-file-types.h" 39 strerror(-retval), -retval); \ 40 } while (0) 43 do { } while (0) [all …]
|
H A D | vhost-vdpa.c | 2 * vhost-vdpa 4 * Copyright(c) 2017-2018 Intel Corporation. 8 * See the COPYING file in the top-level directory. 19 #include "hw/virtio/vhost-backend.h" 20 #include "hw/virtio/virtio-net.h" 21 #include "hw/virtio/vhost-shadow-virtqueue.h" 22 #include "hw/virtio/vhost-vdpa.h" 23 #include "system/address-spaces.h" 26 #include "qemu/main-loop.h" 37 Int128 llend = int128_make64(section->offset_within_address_space); in vhost_vdpa_section_end() [all …]
|
H A D | vhost-user.c | 2 * vhost-user 7 * See the COPYING file in the top-level directory. 13 #include "hw/virtio/virtio-dmabuf.h" 15 #include "hw/virtio/virtio-crypto.h" 16 #include "hw/virtio/vhost-user.h" 17 #include "hw/virtio/vhost-backend.h" 19 #include "hw/virtio/virtio-net.h" 20 #include "chardev/char-fe.h" 21 #include "io/channel-socket.h" 23 #include "qemu/error-report.h" [all …]
|
H A D | vhost-backend.c | 2 * vhost-backend 7 * See the COPYING file in the top-level directory. 13 #include "hw/virtio/vhost-backend.h" 14 #include "qemu/error-report.h" 15 #include "qemu/main-loop.h" 16 #include "standard-headers/linux/vhost_types.h" 18 #include "hw/virtio/vhost-vdpa.h" 23 static int vhost_kernel_call(struct vhost_dev *dev, unsigned long int request, in vhost_kernel_call() argument 26 int fd = (uintptr_t) dev->opaque; in vhost_kernel_call() 29 assert(dev->vhost_ops->backend_type == VHOST_BACKEND_TYPE_KERNEL); in vhost_kernel_call() [all …]
|
/qemu/contrib/vhost-user-gpu/ |
H A D | vugbm.c | 2 * Virtio vhost-user GPU Device 7 * See the COPYING file in the top-level directory. 16 buf->mmap = g_malloc(buf->width * buf->height * 4); in mem_alloc_bo() 17 buf->stride = buf->width * 4; in mem_alloc_bo() 24 g_free(buf->mmap); in mem_free_bo() 30 return buf->mmap != NULL; in mem_map_bo() 39 mem_device_destroy(struct vugbm_device *dev) in mem_device_destroy() argument 51 #define UDMABUF_CREATE _IOW('u', 0x42, struct udmabuf_create) 56 return ROUND_UP(buf->width * buf->height * 4, qemu_real_host_page_size()); in udmabuf_get_size() 64 buf->memfd = memfd_create("udmabuf-bo", MFD_ALLOW_SEALING); in udmabuf_alloc_bo() [all …]
|
/qemu/ |
H A D | .travis.yml | 5 - gcc 9 # - OS name (currently only linux) 10 # - OS distribution (e.g. "jammy" for Linux) 11 # - Names and values of visible environment variables set in .travis.yml or Settings panel 19 # $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu" 23 …- secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1K… 30 - SRC_DIR=".." 31 - BUILD_DIR="build" 32 - BASE_CONFIG="--disable-docs --disable-tools" 33 - TEST_BUILD_CMD="" [all …]
|
/qemu/hw/riscv/ |
H A D | microblaze-v-generic.c | 10 * SPDX-License-Identifier: GPL-2.0-or-later 24 #include "hw/char/serial-mm.h" 25 #include "system/address-spaces.h" 30 #define MEMORY_BASEADDR 0x80000000 31 #define INTC_BASEADDR 0x41200000 32 #define TIMER_BASEADDR 0x41c00000 33 #define TIMER_BASEADDR2 0x41c10000 34 #define UARTLITE_BASEADDR 0x40600000 35 #define ETHLITE_BASEADDR 0x40e00000 36 #define UART16550_BASEADDR 0x44a10000 [all …]
|
/qemu/subprojects/libvduse/ |
H A D | libvduse.c | 5 * Portions of codes and concepts borrowed from libvhost-user.c, so: 12 * Marc-André Lureau <mlureau@redhat.com> 16 * later. See the COPYING file in the top-level directory. 41 #include "linux-headers/linux/virtio_ring.h" 42 #include "linux-headers/linux/virtio_config.h" 43 #include "linux-headers/linux/vduse.h" 55 #define ALIGN_UP(n, m) ALIGN_DOWN((n) + (m) - 1, (m)) 58 #define unlikely(x) __builtin_expect(!!(x), 0) 107 VduseDev *dev; member 150 if (fd == -1) { in vduse_log_get() [all …]
|