mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
Accel & Exec patch queue
- Ignore writes to CNTP_CTL_EL0 on HVF ARM (Alexander) - Add '-d invalid_mem' logging option (Zoltan) - Create QOM containers explicitly (Peter) - Rename sysemu/ -> system/ (Philippe) - Re-orderning of include/exec/ headers (Philippe) Move a lot of declarations from these legacy mixed bag headers: . "exec/cpu-all.h" . "exec/cpu-common.h" . "exec/cpu-defs.h" . "exec/exec-all.h" . "exec/translate-all" to these more specific ones: . "exec/page-protection.h" . "exec/translation-block.h" . "user/cpu_loop.h" . "user/guest-host.h" . "user/page-protection.h" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmdlnyAACgkQ4+MsLN6t wN6mBw//QFWi7CrU+bb8KMM53kOU9C507tjn99LLGFb5or73/umDsw6eo/b8DHBt KIwGLgATel42oojKfNKavtAzLK5rOrywpboPDpa3SNeF1onW+99NGJ52LQUqIX6K A6bS0fPdGG9ZzEuPpbjDXlp++0yhDcdSgZsS42fEsT7Dyj5gzJYlqpqhiXGqpsn8 4Y0UMxSL21K3HEexlzw2hsoOBFA3tUm2ujNDhNkt8QASr85yQVLCypABJnuoe/// 5Ojl5wTBeDwhANET0rhwHK8eIYaNboiM9fHopJYhvyw1bz6yAu9jQwzF/MrL3s/r xa4OBHBy5mq2hQV9Shcl3UfCQdk/vDaYaWpgzJGX8stgMGYfnfej1SIl8haJIfcl VMX8/jEFdYbjhO4AeGRYcBzWjEJymkDJZoiSWp2NuEDi6jqIW+7yW1q0Rnlg9lay ShAqLK5Pv4zUw3t0Jy3qv9KSW8sbs6PQxtzXjk8p97rTf76BJ2pF8sv1tVzmsidP 9L92Hv5O34IqzBu2oATOUZYJk89YGmTIUSLkpT7asJZpBLwNM2qLp5jO00WVU0Sd +kAn324guYPkko/TVnjC/AY7CMu55EOtD9NU35k3mUAnxXT9oDUeL4NlYtfgrJx6 x1Nzr2FkS68+wlPAFKNSSU5lTjsjNaFM0bIJ4LCNtenJVP+SnRo= =cjz8 -----END PGP SIGNATURE----- Merge tag 'exec-20241220' of https://github.com/philmd/qemu into staging Accel & Exec patch queue - Ignore writes to CNTP_CTL_EL0 on HVF ARM (Alexander) - Add '-d invalid_mem' logging option (Zoltan) - Create QOM containers explicitly (Peter) - Rename sysemu/ -> system/ (Philippe) - Re-orderning of include/exec/ headers (Philippe) Move a lot of declarations from these legacy mixed bag headers: . "exec/cpu-all.h" . "exec/cpu-common.h" . "exec/cpu-defs.h" . "exec/exec-all.h" . "exec/translate-all" to these more specific ones: . "exec/page-protection.h" . "exec/translation-block.h" . "user/cpu_loop.h" . "user/guest-host.h" . "user/page-protection.h" # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmdlnyAACgkQ4+MsLN6t # wN6mBw//QFWi7CrU+bb8KMM53kOU9C507tjn99LLGFb5or73/umDsw6eo/b8DHBt # KIwGLgATel42oojKfNKavtAzLK5rOrywpboPDpa3SNeF1onW+99NGJ52LQUqIX6K # A6bS0fPdGG9ZzEuPpbjDXlp++0yhDcdSgZsS42fEsT7Dyj5gzJYlqpqhiXGqpsn8 # 4Y0UMxSL21K3HEexlzw2hsoOBFA3tUm2ujNDhNkt8QASr85yQVLCypABJnuoe/// # 5Ojl5wTBeDwhANET0rhwHK8eIYaNboiM9fHopJYhvyw1bz6yAu9jQwzF/MrL3s/r # xa4OBHBy5mq2hQV9Shcl3UfCQdk/vDaYaWpgzJGX8stgMGYfnfej1SIl8haJIfcl # VMX8/jEFdYbjhO4AeGRYcBzWjEJymkDJZoiSWp2NuEDi6jqIW+7yW1q0Rnlg9lay # ShAqLK5Pv4zUw3t0Jy3qv9KSW8sbs6PQxtzXjk8p97rTf76BJ2pF8sv1tVzmsidP # 9L92Hv5O34IqzBu2oATOUZYJk89YGmTIUSLkpT7asJZpBLwNM2qLp5jO00WVU0Sd # +kAn324guYPkko/TVnjC/AY7CMu55EOtD9NU35k3mUAnxXT9oDUeL4NlYtfgrJx6 # x1Nzr2FkS68+wlPAFKNSSU5lTjsjNaFM0bIJ4LCNtenJVP+SnRo= # =cjz8 # -----END PGP SIGNATURE----- # gpg: Signature made Fri 20 Dec 2024 11:45:20 EST # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE * tag 'exec-20241220' of https://github.com/philmd/qemu: (59 commits) util/qemu-timer: fix indentation meson: Do not define CONFIG_DEVICES on user emulation system/accel-ops: Remove unnecessary 'exec/cpu-common.h' header system/numa: Remove unnecessary 'exec/cpu-common.h' header hw/xen: Remove unnecessary 'exec/cpu-common.h' header target/mips: Drop left-over comment about Jazz machine target/mips: Remove tswap() calls in semihosting uhi_fstat_cb() target/xtensa: Remove tswap() calls in semihosting simcall() helper accel/tcg: Un-inline translator_is_same_page() accel/tcg: Include missing 'exec/translation-block.h' header accel/tcg: Move tcg_cflags_has/set() to 'exec/translation-block.h' accel/tcg: Restrict curr_cflags() declaration to 'internal-common.h' qemu/coroutine: Include missing 'qemu/atomic.h' header exec/translation-block: Include missing 'qemu/atomic.h' header accel/tcg: Declare cpu_loop_exit_requested() in 'exec/cpu-common.h' exec/cpu-all: Include 'cpu.h' earlier so MMU_USER_IDX is always defined target/sparc: Move sparc_restore_state_to_opc() to cpu.c target/sparc: Uninline cpu_get_tb_cpu_state() target/loongarch: Declare loongarch_cpu_dump_state() locally user: Move various declarations out of 'exec/exec-all.h' ... Conflicts: hw/char/riscv_htif.c hw/intc/riscv_aplic.c target/s390x/cpu.c Apply sysemu header path changes to not in the pull request. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
commit
65cb7129f4
1080 changed files with 2575 additions and 2312 deletions
|
@ -19,7 +19,7 @@
|
|||
#include "qemu/units.h"
|
||||
#include "hw/registerfields.h"
|
||||
#include "hw/acpi/aml-build.h"
|
||||
#include "sysemu/tpm.h"
|
||||
#include "system/tpm.h"
|
||||
|
||||
#ifdef CONFIG_TPM
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#include "hw/i2c/allwinner-i2c.h"
|
||||
#include "hw/ssi/allwinner-a10-spi.h"
|
||||
#include "hw/watchdog/allwinner-wdt.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "system/block-backend.h"
|
||||
|
||||
#include "target/arm/cpu.h"
|
||||
#include "qom/object.h"
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
#include "hw/i2c/allwinner-i2c.h"
|
||||
#include "hw/watchdog/allwinner-wdt.h"
|
||||
#include "target/arm/cpu.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "system/block-backend.h"
|
||||
|
||||
/**
|
||||
* Allwinner H3 device list
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#include "hw/usb/hcd-ehci.h"
|
||||
#include "hw/watchdog/allwinner-wdt.h"
|
||||
#include "target/arm/cpu.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "system/block-backend.h"
|
||||
|
||||
enum {
|
||||
AW_R40_DEV_SRAM_A1,
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "hw/arm/boot.h"
|
||||
#include "hw/arm/bsa.h"
|
||||
#include "hw/block/flash.h"
|
||||
#include "sysemu/kvm.h"
|
||||
#include "system/kvm.h"
|
||||
#include "hw/intc/arm_gicv3_common.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
#define HW_BOARDS_H
|
||||
|
||||
#include "exec/memory.h"
|
||||
#include "sysemu/hostmem.h"
|
||||
#include "sysemu/blockdev.h"
|
||||
#include "system/hostmem.h"
|
||||
#include "system/blockdev.h"
|
||||
#include "qapi/qapi-types-machine.h"
|
||||
#include "qemu/module.h"
|
||||
#include "qom/object.h"
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
* See the COPYING file in the top-level directory.
|
||||
*/
|
||||
|
||||
#ifndef SYSEMU_CPU_OPS_H
|
||||
#define SYSEMU_CPU_OPS_H
|
||||
#ifndef SYSTEM_CPU_OPS_H
|
||||
#define SYSTEM_CPU_OPS_H
|
||||
|
||||
#include "hw/core/cpu.h"
|
||||
|
||||
|
@ -89,4 +89,4 @@ typedef struct SysemuCPUOps {
|
|||
|
||||
} SysemuCPUOps;
|
||||
|
||||
#endif /* SYSEMU_CPU_OPS_H */
|
||||
#endif /* SYSTEM_CPU_OPS_H */
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
#include "hw/sysbus.h"
|
||||
#include "hw/register.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define ZDMA_R_MAX (0x204 / 4)
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "hw/sysbus.h"
|
||||
#include "ui/console.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define XLNX_DPDMA_REG_ARRAY_SIZE (0x1000 >> 2)
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
#ifndef HW_HYPERV_VMBUS_H
|
||||
#define HW_HYPERV_VMBUS_H
|
||||
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/system.h"
|
||||
#include "system/dma.h"
|
||||
#include "hw/qdev-core.h"
|
||||
#include "migration/vmstate.h"
|
||||
#include "hw/hyperv/vmbus-proto.h"
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#ifndef QEMU_HOSTMEM_EPC_H
|
||||
#define QEMU_HOSTMEM_EPC_H
|
||||
|
||||
#include "sysemu/hostmem.h"
|
||||
#include "system/hostmem.h"
|
||||
|
||||
#define TYPE_MEMORY_BACKEND_EPC "memory-backend-epc"
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#ifndef IDE_DEV_H
|
||||
#define IDE_DEV_H
|
||||
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
#include "hw/qdev-properties.h"
|
||||
#include "hw/block/block.h"
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#ifndef HW_ISA_SUPERIO_H
|
||||
#define HW_ISA_SUPERIO_H
|
||||
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "system/system.h"
|
||||
#include "hw/isa/isa.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "exec/hwaddr.h"
|
||||
#include "standard-headers/linux/qemu_fw_cfg.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define TYPE_FW_CFG "fw_cfg"
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#ifndef XLNX_BBRAM_H
|
||||
#define XLNX_BBRAM_H
|
||||
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "system/block-backend.h"
|
||||
#include "hw/qdev-core.h"
|
||||
#include "hw/irq.h"
|
||||
#include "hw/sysbus.h"
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#ifndef XLNX_EFUSE_H
|
||||
#define XLNX_EFUSE_H
|
||||
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "system/block-backend.h"
|
||||
#include "hw/qdev-core.h"
|
||||
|
||||
#define TYPE_XLNX_EFUSE "xlnx-efuse"
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define QEMU_PCI_H
|
||||
|
||||
#include "exec/memory.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "sysemu/host_iommu_device.h"
|
||||
#include "system/dma.h"
|
||||
#include "system/host_iommu_device.h"
|
||||
|
||||
/* PCI includes legacy ISA access. */
|
||||
#include "hw/isa/isa.h"
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
#include "exec/memory.h"
|
||||
#include "qemu/iov.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define HW_SPAPR_H
|
||||
|
||||
#include "qemu/units.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
#include "hw/boards.h"
|
||||
#include "hw/ppc/spapr_drc.h"
|
||||
#include "hw/mem/pc-dimm.h"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
#include <libfdt.h>
|
||||
#include "qom/object.h"
|
||||
#include "sysemu/runstate.h"
|
||||
#include "system/runstate.h"
|
||||
#include "hw/qdev-core.h"
|
||||
#include "qapi/error.h"
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "hw/ppc/spapr.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
#include "hw/irq.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@
|
|||
#ifndef PPC_XIVE_H
|
||||
#define PPC_XIVE_H
|
||||
|
||||
#include "sysemu/kvm.h"
|
||||
#include "system/kvm.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "hw/ppc/xive_regs.h"
|
||||
#include "qom/object.h"
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#include "hw/boards.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "sysemu/numa.h"
|
||||
#include "system/numa.h"
|
||||
|
||||
/**
|
||||
* riscv_socket_count:
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include "hw/s390x/adapter.h"
|
||||
#include "hw/s390x/s390_flic.h"
|
||||
#include "hw/s390x/ioinst.h"
|
||||
#include "sysemu/kvm.h"
|
||||
#include "system/kvm.h"
|
||||
#include "target/s390x/cpu-qom.h"
|
||||
|
||||
/* Channel subsystem constants. */
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#define HW_S390_PCI_INST_H
|
||||
|
||||
#include "s390-pci-bus.h"
|
||||
#include "sysemu/dma.h"
|
||||
#include "system/dma.h"
|
||||
|
||||
/* Load/Store status codes */
|
||||
#define ZPCI_PCI_ST_FUNC_NOT_ENABLED 4
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "qapi/error.h"
|
||||
#include "hw/boards.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "system/system.h"
|
||||
#include "exec/address-spaces.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
|
|
@ -29,10 +29,10 @@
|
|||
#ifdef CONFIG_LINUX
|
||||
#include <linux/vfio.h>
|
||||
#endif
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "system/system.h"
|
||||
#include "hw/vfio/vfio-container-base.h"
|
||||
#include "sysemu/host_iommu_device.h"
|
||||
#include "sysemu/iommufd.h"
|
||||
#include "system/host_iommu_device.h"
|
||||
#include "system/iommufd.h"
|
||||
|
||||
#define VFIO_MSG_PREFIX "vfio %s: "
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include "standard-headers/linux/virtio_balloon.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "sysemu/iothread.h"
|
||||
#include "system/iothread.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define TYPE_VIRTIO_BALLOON "virtio-balloon-device"
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
#include "standard-headers/linux/virtio_blk.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "hw/block/block.h"
|
||||
#include "sysemu/iothread.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
#include "sysemu/block-ram-registrar.h"
|
||||
#include "system/iothread.h"
|
||||
#include "system/block-backend.h"
|
||||
#include "system/block-ram-registrar.h"
|
||||
#include "qom/object.h"
|
||||
#include "qapi/qapi-types-virtio.h"
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
|
||||
#include "standard-headers/linux/virtio_crypto.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "sysemu/iothread.h"
|
||||
#include "sysemu/cryptodev.h"
|
||||
#include "system/iothread.h"
|
||||
#include "system/cryptodev.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include "ui/console.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "qemu/log.h"
|
||||
#include "sysemu/vhost-user-backend.h"
|
||||
#include "system/vhost-user-backend.h"
|
||||
|
||||
#include "standard-headers/linux/virtio_gpu.h"
|
||||
#include "standard-headers/linux/virtio_ids.h"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "hw/virtio/vhost-user.h"
|
||||
#include "hw/virtio/vhost-user-base.h"
|
||||
#include "ui/input.h"
|
||||
#include "sysemu/vhost-user-backend.h"
|
||||
#include "system/vhost-user-backend.h"
|
||||
|
||||
/* ----------------------------------------------------------------- */
|
||||
/* virtio input protocol */
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
#include "hw/pci/pci.h"
|
||||
#include "qom/object.h"
|
||||
#include "qapi/qapi-types-virtio.h"
|
||||
#include "sysemu/host_iommu_device.h"
|
||||
#include "system/host_iommu_device.h"
|
||||
|
||||
#define TYPE_VIRTIO_IOMMU "virtio-iommu-device"
|
||||
#define TYPE_VIRTIO_IOMMU_PCI "virtio-iommu-pci"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include "hw/resettable.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "qapi/qapi-types-misc.h"
|
||||
#include "sysemu/hostmem.h"
|
||||
#include "system/hostmem.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define TYPE_VIRTIO_MEM "virtio-mem"
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#define QEMU_VIRTIO_RNG_H
|
||||
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "sysemu/rng.h"
|
||||
#include "system/rng.h"
|
||||
#include "standard-headers/linux/virtio_rng.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
#include "hw/virtio/virtio.h"
|
||||
#include "hw/scsi/scsi.h"
|
||||
#include "chardev/char-fe.h"
|
||||
#include "sysemu/iothread.h"
|
||||
#include "system/iothread.h"
|
||||
|
||||
#define TYPE_VIRTIO_SCSI_COMMON "virtio-scsi-common"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(VirtIOSCSICommon, VIRTIO_SCSI_COMMON)
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "hw/xen/xen-bus.h"
|
||||
#include "hw/block/block.h"
|
||||
#include "hw/block/dataplane/xen-block.h"
|
||||
#include "sysemu/iothread.h"
|
||||
#include "system/iothread.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
typedef enum XenBlockVdevType {
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
#include "hw/hw.h"
|
||||
#include "hw/xen/xen_native.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "sysemu/runstate.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "sysemu/xen.h"
|
||||
#include "sysemu/xen-mapcache.h"
|
||||
#include "system/runstate.h"
|
||||
#include "system/system.h"
|
||||
#include "system/xen.h"
|
||||
#include "system/xen-mapcache.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include <xen/hvm/ioreq.h>
|
||||
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
#define __XEN_INTERFACE_VERSION__ 0x00040e00
|
||||
#endif
|
||||
|
||||
#include "exec/cpu-common.h"
|
||||
|
||||
/* xen-machine.c */
|
||||
enum xen_mode {
|
||||
XEN_DISABLED = 0, /* xen support disabled (default) */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue