From 6668690dee884342e29103b5df1ab751bb236bba Mon Sep 17 00:00:00 2001 From: lixianglai Date: Tue, 7 Feb 2023 07:22:58 -0500 Subject: [PATCH] Add compile script. Modify the compile script for loongarch. Signed-off-by: lixianglai --- .../devices/loongarch64-softmmu/default.mak | 158 ++++++++++++++++++ configs/targets/loongarch64-softmmu.mak | 3 + configure | 5 + meson.build | 7 +- 4 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 configs/devices/loongarch64-softmmu/default.mak create mode 100644 configs/targets/loongarch64-softmmu.mak diff --git a/configs/devices/loongarch64-softmmu/default.mak b/configs/devices/loongarch64-softmmu/default.mak new file mode 100644 index 0000000000..c4cc246833 --- /dev/null +++ b/configs/devices/loongarch64-softmmu/default.mak @@ -0,0 +1,158 @@ +# Default configuration for loongarch-softmmu + +CONFIG_PCI=y +CONFIG_ACPI_PCI=y +# For now, CONFIG_IDE_CORE requires ISA, so we enable it here +CONFIG_ISA_BUS=y +CONFIG_VIRTIO_PCI=y + +CONFIG_VGA_PCI=y +CONFIG_ACPI_SMBUS=y +CONFIG_VHOST_USER_SCSI=y +CONFIG_VHOST_USER_BLK=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_CRYPTO=y +CONFIG_VIRTIO_GPU=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO_RNG=y +CONFIG_SCSI=y +CONFIG_VIRTIO_SCSI=y +CONFIG_VIRTIO_SERIAL=y + +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_OHCI_PCI=y +CONFIG_USB_XHCI=y +CONFIG_USB_XHCI_NEC=y +CONFIG_NE2000_PCI=y +CONFIG_EEPRO100_PCI=y +CONFIG_PCNET_PCI=y +CONFIG_PCNET_COMMON=y +CONFIG_AC97=y +CONFIG_HDA=y +CONFIG_ES1370=y +CONFIG_SCSI=y +CONFIG_LSI_SCSI_PCI=y +CONFIG_VMW_PVSCSI_SCSI_PCI=y +CONFIG_MEGASAS_SCSI_PCI=y +CONFIG_MPTSAS_SCSI_PCI=y +CONFIG_RTL8139_PCI=y +CONFIG_E1000_PCI=y +CONFIG_IDE_CORE=y +CONFIG_IDE_QDEV=y +CONFIG_IDE_PCI=y +CONFIG_AHCI=y +CONFIG_AHCI_ICH9=y +CONFIG_ESP=y +CONFIG_ESP_PCI=y +CONFIG_SERIAL=y +CONFIG_SERIAL_ISA=y +CONFIG_SERIAL_PCI=y +CONFIG_CAN_BUS=y +CONFIG_CAN_SJA1000=y +CONFIG_CAN_PCI=y +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_XHCI=y +CONFIG_USB_XHCI_NEC=y +CONFIG_NE2000_PCI=y +CONFIG_EEPRO100_PCI=y +CONFIG_PCNET_PCI=y +CONFIG_PCNET_COMMON=y +CONFIG_AC97=y +CONFIG_HDA=y +CONFIG_ES1370=y +CONFIG_SCSI=y +CONFIG_LSI_SCSI_PCI=y +CONFIG_VMW_PVSCSI_SCSI_PCI=y +CONFIG_MEGASAS_SCSI_PCI=y +CONFIG_MPTSAS_SCSI_PCI=y +CONFIG_RTL8139_PCI=y +CONFIG_E1000_PCI=y +CONFIG_IDE_CORE=y +CONFIG_IDE_QDEV=y +CONFIG_IDE_PCI=y +CONFIG_AHCI=y +CONFIG_ESP=y +CONFIG_ESP_PCI=y +CONFIG_SERIAL=y +CONFIG_SERIAL_ISA=y +CONFIG_SERIAL_PCI=y +CONFIG_CAN_BUS=y +CONFIG_CAN_SJA1000=y +CONFIG_CAN_PCI=y + +CONFIG_SPICE=y +CONFIG_QXL=y +CONFIG_ESP=y +CONFIG_SCSI=y +CONFIG_VGA_ISA=y +CONFIG_VGA_ISA_MM=y +CONFIG_VGA_CIRRUS=y +CONFIG_VMWARE_VGA=y +CONFIG_VIRTIO_VGA=y +CONFIG_SERIAL=y +CONFIG_SERIAL_ISA=y +CONFIG_PARALLEL=y +CONFIG_I8254=y +CONFIG_PCSPK=y +CONFIG_PCKBD=y +CONFIG_FDC=y +CONFIG_ACPI=y +CONFIG_ACPI_MEMORY_HOTPLUG=y +CONFIG_ACPI_NVDIMM=y +CONFIG_ACPI_CPU_HOTPLUG=y +CONFIG_APM=y +CONFIG_I8257=y +CONFIG_PIIX4=y +CONFIG_IDE_ISA=y +CONFIG_IDE_PIIX=y +CONFIG_MIPSNET=y +CONFIG_PFLASH_CFI01=y +CONFIG_I8259=y +CONFIG_MC146818RTC=y +CONFIG_ISA_TESTDEV=y +CONFIG_EMPTY_SLOT=y +CONFIG_I2C=y +CONFIG_DIMM=y +CONFIG_MEM_DEVICE=y + +# Arch Specified CONFIG defines +CONFIG_IDE_VIA=y +CONFIG_VT82C686=y +CONFIG_RC4030=y +CONFIG_DP8393X=y +CONFIG_DS1225Y=y +CONFIG_FITLOADER=y +CONFIG_SMBIOS=y + +CONFIG_PCIE_PORT=y +CONFIG_I82801B11=y +CONFIG_XIO3130=y +CONFIG_PCI_EXPRESS=y +CONFIG_MSI_NONBROKEN=y +CONFIG_IOH3420=y +CONFIG_SD=y +CONFIG_SDHCI=y +CONFIG_VIRTFS=y +CONFIG_VIRTIO_9P=y +CONFIG_USB_EHCI=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_SYSBUS=y +CONFIG_USB_STORAGE_BOT=y +CONFIG_TPM_EMULATOR=y +CONFIG_TPM_TIS=y +CONFIG_PLATFORM_BUS=y +CONFIG_TPM_TIS_SYSBUS=y +CONFIG_ACPI_LOONGARCH=y +CONFIG_LS7A_RTC=y + +#vfio config +CONFIG_VFIO=y +CONFIG_VFIO_PCI=y +CONFIG_VFIO_PLATFORM=y +CONFIG_VFIO_XGMAC=y +CONFIG_VFIO_AMD_XGBE=y diff --git a/configs/targets/loongarch64-softmmu.mak b/configs/targets/loongarch64-softmmu.mak new file mode 100644 index 0000000000..c42dfbbd9c --- /dev/null +++ b/configs/targets/loongarch64-softmmu.mak @@ -0,0 +1,3 @@ +TARGET_ARCH=loongarch64 +TARGET_SUPPORTS_MTTCG=y +TARGET_XML_FILES= gdb-xml/loongarch-base64.xml gdb-xml/loongarch-fpu.xml diff --git a/configure b/configure index 2576d1c693..a84dc891cc 100755 --- a/configure +++ b/configure @@ -579,6 +579,8 @@ elif check_define __arm__ ; then cpu="arm" elif check_define __aarch64__ ; then cpu="aarch64" +elif check_define __loongarch__ ; then + cpu="loongarch64" else cpu=$(uname -m) fi @@ -604,6 +606,9 @@ case "$cpu" in aarch64) cpu="aarch64" ;; + loongarch64) + cpu="loongarch64" + ;; mips*) cpu="mips" ;; diff --git a/meson.build b/meson.build index d0bbceffe1..d80426b3e8 100644 --- a/meson.build +++ b/meson.build @@ -56,7 +56,7 @@ python = import('python').find_installation() supported_oses = ['windows', 'freebsd', 'netbsd', 'openbsd', 'darwin', 'sunos', 'linux'] supported_cpus = ['ppc', 'ppc64', 's390x', 'riscv', 'x86', 'x86_64', - 'arm', 'aarch64', 'mips', 'mips64', 'sparc', 'sparc64', 'sw64'] + 'arm', 'aarch64', 'mips', 'mips64', 'sparc', 'sparc64', 'sw64', 'loongarch64'] cpu = host_machine.cpu_family() @@ -83,6 +83,8 @@ elif cpu in ['mips', 'mips64'] kvm_targets = ['mips-softmmu', 'mipsel-softmmu', 'mips64-softmmu', 'mips64el-softmmu'] elif cpu == 'sw64' kvm_targets = ['sw64-softmmu'] +elif cpu == 'loongarch64' + kvm_targets = ['loongarch64-softmmu'] else kvm_targets = [] endif @@ -367,6 +369,8 @@ if not get_option('tcg').disabled() tcg_arch = 'ppc' elif config_host['ARCH'] in ['sw64'] tcg_arch = 'sw64' + elif config_host['ARCH'] == 'loongarch64' + tcg_arch = 'loongarch64' endif add_project_arguments('-iquote', meson.current_source_dir() / 'tcg' / tcg_arch, language: ['c', 'cpp', 'objc']) @@ -1822,6 +1826,7 @@ disassemblers = { 'sh4' : ['CONFIG_SH4_DIS'], 'sparc' : ['CONFIG_SPARC_DIS'], 'xtensa' : ['CONFIG_XTENSA_DIS'], + 'loongarch64' : ['CONFIG_LOONGARCH_DIS'], 'sw64' : ['CONFIG_SW64_DIS'], } if link_language == 'cpp' -- 2.27.0