Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						f332388365 
					 
					
						
						
							
							hw/loongarch: Supplement cpu topology arguments  
						
						... 
						
						
						
						Supplement LoongArch cpu topology arguments, including support socket
and threads per core.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230613123251.2471878-1-zhaotianrui@loongson.cn > 
						
						
					 
					
						2023-06-16 17:58:46 +08:00 
						 
				 
			
				
					
						
							
							
								Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						0cf1478d6d 
					 
					
						
						
							
							hw/loongarch: Add numa support  
						
						... 
						
						
						
						1. Implement some functions for LoongArch numa support;
2. Implement fdt_add_memory_node() for fdt;
3. build_srat() fills node_id and adds build numa memory.
Reviewed-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230613122613.2471743-1-zhaotianrui@loongson.cn > 
						
						
					 
					
						2023-06-16 17:58:46 +08:00 
						 
				 
			
				
					
						
							
							
								Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						758a747566 
					 
					
						
						
							
							hw/intc: Set physical cpuid route for LoongArch ipi device  
						
						... 
						
						
						
						LoongArch ipi device uses physical cpuid to route to different
vcpus rather logical cpuid, and the physical cpuid is the same
with cpuid in acpi dsdt and srat table.
Reviewed-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230613120552.2471420-3-zhaotianrui@loongson.cn > 
						
						
					 
					
						2023-06-16 17:58:46 +08:00 
						 
				 
			
				
					
						
							
							
								Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						8f30771ce6 
					 
					
						
						
							
							hw/loongarch/virt: Add cpu arch_id support  
						
						... 
						
						
						
						With acpi madt table, there is cpu physical coreid, which may
be different with logical id in qemu. This patch adds cpu arch_id
support, and fill madt table with arch_id. For the present cpu
arch_id is still equal to logical id.
Reviewed-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230613120552.2471420-2-zhaotianrui@loongson.cn > 
						
						
					 
					
						2023-06-16 17:58:42 +08:00 
						 
				 
			
				
					
						
							
							
								Thomas Huth 
							
						 
					 
					
						
						
							
						
						240294cac7 
					 
					
						
						
							
							hw/loongarch64: Use MachineClass->default_nic in the virt machine  
						
						... 
						
						
						
						Mark the default NIC via the new MachineClass->default_nic setting
so that the machine-defaults code in vl.c can decide whether the
default NIC is usable or not (for example when compiling with the
"--without-default-devices" configure switch).
Message-Id: <20230523110435.1375774-5-thuth@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Tested-by: Song Gao <gaosong@loongson.cn >
Signed-off-by: Thomas Huth <thuth@redhat.com > 
						
						
					 
					
						2023-05-26 09:10:49 +02:00 
						 
				 
			
				
					
						
							
							
								Song Gao 
							
						 
					 
					
						
						
							
						
						646c39b220 
					 
					
						
						
							
							hw/loongarch/virt: Set max 256 cpus support on loongarch virt machine  
						
						... 
						
						
						
						Add separate macro EXTIOI_CPUS for extioi interrupt controller, extioi
only supports 4 cpu. And set macro LOONGARCH_MAX_CPUS as 256 so that
loongarch virt machine supports more cpus.
Interrupts from external devices can only be routed cpu 0-3 because
of extioi limits, cpu internal interrupt such as timer/ipi can be
triggered on all cpus.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230512100421.1867848-3-gaosong@loongson.cn > 
						
						
					 
					
						2023-05-15 19:09:33 +08:00 
						 
				 
			
				
					
						
							
							
								Song Gao 
							
						 
					 
					
						
						
							
						
						78464f023b 
					 
					
						
						
							
							hw/loongarch/virt: Modify ipi as percpu device  
						
						... 
						
						
						
						ipi is used to communicate between cpus, this patch modified
loongarch ipi device as percpu device, so that there are
2 MemoryRegions with ipi device, rather than 2*cpus
MemoryRegions, which may be large than QDEV_MAX_MMIO if
more cpus are added on loongarch virt machine.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230512100421.1867848-2-gaosong@loongson.cn > 
						
						
					 
					
						2023-05-15 19:09:33 +08:00 
						 
				 
			
				
					
						
							
							
								Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						51d54503e8 
					 
					
						
						
							
							hw/loongarch/virt: Fix virt_to_phys_addr function  
						
						... 
						
						
						
						The virt addr should mask TARGET_PHYS_ADDR_SPACE_BITS to
get the phys addr, and this is used by loading kernel elf.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230327112313.3042829-1-zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2023-04-04 19:29:13 +08:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						cc37d98bfb 
					 
					
						
						
							
							*: Add missing includes of qemu/error-report.h  
						
						... 
						
						
						
						This had been pulled in via qemu/plugin.h from hw/core/cpu.h,
but that will be removed.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230310195252.210956-5-richard.henderson@linaro.org >
[AJB: add various additional cases shown by CI]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20230315174331.2959-15-alex.bennee@linaro.org >
Reviewed-by: Emilio Cota <cota@braap.org > 
						
						
					 
					
						2023-03-22 15:06:57 +00:00 
						 
				 
			
				
					
						
							
							
								Song Gao 
							
						 
					 
					
						
						
							
						
						0d588c4f99 
					 
					
						
						
							
							hw/loongarch/virt: add system_powerdown hmp command support  
						
						... 
						
						
						
						For loongarch virt machine, add powerdown notification callback
and send ACPI_POWER_DOWN_STATUS event by acpi ged. Also add
acpi dsdt table for ACPI_POWER_BUTTON_DEVICE device in this
patch.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230303010548.295580-1-gaosong@loongson.cn > 
						
						
					 
					
						2023-03-03 09:37:30 +08:00 
						 
				 
			
				
					
						
							
							
								Bibo Mao 
							
						 
					 
					
						
						
							
						
						456eb81f76 
					 
					
						
						
							
							hw/loongarch/virt: rename PCH_PIC_IRQ_OFFSET with VIRT_GSI_BASE  
						
						... 
						
						
						
						In theory gsi base can start from 0 on loongarch virt machine,
however gsi base is hard-coded in linux kernel loongarch system,
else system fails to boot.
This patch renames macro PCH_PIC_IRQ_OFFSET with VIRT_GSI_BASE,
keeps value unchanged. GSI base is common concept in acpi spec
and easy to understand.
Signed-off-by: Bibo Mao <maobibo@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221228030719.991878-1-maobibo@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2023-03-03 09:37:26 +08:00 
						 
				 
			
				
					
						
							
							
								Markus Armbruster 
							
						 
					 
					
						
						
							
						
						a67dfa660b 
					 
					
						
						
							
							Drop duplicate #include  
						
						... 
						
						
						
						Tracked down with the help of scripts/clean-includes.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com >
Reviewed-by: Greg Kurz <groug@kaod.org >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20230202133830.2152150-21-armbru@redhat.com > 
						
						
					 
					
						2023-02-08 07:28:05 +01:00 
						 
				 
			
				
					
						
							
							
								Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						f4d10ce8aa 
					 
					
						
						
							
							hw/intc/loongarch_pch: Change default irq number of pch irq controller  
						
						... 
						
						
						
						Change the default irq number of pch pic to 32, so that the irq
number of pch msi is 224(256 - 32), and move the 'PCH_PIC_IRQ_NUM'
macro to pci-host/ls7a.h and add prefix 'VIRT' on it to keep standard
format.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230104020518.2564263-4-zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2023-01-06 14:12:43 +08:00 
						 
				 
			
				
					
						
							
							
								Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						270950b49d 
					 
					
						
						
							
							hw/intc/loongarch_pch_pic: add irq number property  
						
						... 
						
						
						
						With loongarch 7A1000 manual, irq number supported can be set
in PCH_PIC_INT_ID_HI register. This patch adds irq number property
for loongarch_pch_pic, so that virt machine can set different
irq number when pch_pic intc is added.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20230104020518.2564263-3-zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2023-01-06 14:12:26 +08:00 
						 
				 
			
				
					
						
							
							
								Tianrui Zhao 
							
						 
					 
					
						
						
							
						
						6027d27405 
					 
					
						
						
							
							hw/intc/loongarch_pch_msi: add irq number property  
						
						... 
						
						
						
						This patch adds irq number property for loongarch msi interrupt
controller, and remove hard coding irq number macro.
Signed-off-by: Tianrui Zhao <zhaotianrui@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230104020518.2564263-2-zhaotianrui@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2023-01-06 10:54:20 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						288431a1fb 
					 
					
						
						
							
							hw/loongarch/virt: Add cfi01 pflash device  
						
						... 
						
						
						
						Add cfi01 pflash device for LoongArch virt machine
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20221130100647.398565-1-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-12-15 15:46:12 +08:00 
						 
				 
			
				
					
						
							
							
								Song Gao 
							
						 
					 
					
						
						
							
						
						edc93f455f 
					 
					
						
						
							
							Revert "hw/loongarch/virt: Add cfi01 pflash device"  
						
						... 
						
						
						
						This reverts commit 14dccc8ea6gaosong@loongson.cn >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-Id: <20221205113007.683505-1-gaosong@loongson.cn > 
						
						
					 
					
						2022-12-05 11:24:35 -05:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						14dccc8ea6 
					 
					
						
						
							
							hw/loongarch/virt: Add cfi01 pflash device  
						
						... 
						
						
						
						Add cfi01 pflash device for LoongArch virt machine
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20221130100647.398565-1-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-12-02 18:03:05 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						4451cc4653 
					 
					
						
						
							
							hw/loongarch: Replace the value of uart info with macro  
						
						... 
						
						
						
						Using macro to replace the value of uart info such as addr, size
in acpi_build method.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221115115008.3372489-1-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-11-22 20:56:48 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						e8c8203e55 
					 
					
						
						
							
							hw/loongarch: Fix setprop_sized method in fdt rtc node.  
						
						... 
						
						
						
						Fix setprop_sized method in fdt rtc node.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221116040300.3459818-1-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-11-22 20:56:48 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						0208ba74c5 
					 
					
						
						
							
							hw/loongarch: Add default stdout uart in fdt  
						
						... 
						
						
						
						Add "chosen" subnode into LoongArch fdt, and set it's
"stdout-path" prop to uart node.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221115114923.3372414-1-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-11-22 20:56:47 +08:00 
						 
				 
			
				
					
						
							
							
								Song Gao 
							
						 
					 
					
						
						
							
						
						46b21de238 
					 
					
						
						
							
							hw/loongarch: Fix loongarch fdt addr confict  
						
						... 
						
						
						
						Fix LoongArch check-tcg error:
   TEST    hello on loongarch64
qemu-system-loongarch64: Some ROM regions are overlapping
These ROM regions might have been loaded by direct user request or by default.
They could be BIOS/firmware images, a guest kernel, initrd or some other file loaded into guest memory.
Check whether you intended to load all this guest code, and whether it has been built to load to the correct addresses.
The following two regions overlap (in the memory address space):
   hello ELF program header segment 0 (addresses 0x0000000000200000 - 0x0000000000242000)
   fdt (addresses 0x0000000000200000 - 0x0000000000300000)
make[1]: *** [Makefile:177: run-hello] Error 1
Fixes: 021836936erichard.henderson@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20221109020449.978064-1-gaosong@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-11-12 11:05:52 +10:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						3dfbb6dee5 
					 
					
						
						
							
							hw/loongarch: Add TPM device for LoongArch virt machine  
						
						... 
						
						
						
						Add TPM device for LoongArch virt machine, including
establish TPM acpi info and add TYPE_TPM_TIS_SYSBUS
to dynamic_sysbus_devices list.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221028014007.2718352-4-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-11-04 17:09:39 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						ca5bf7ad02 
					 
					
						
						
							
							hw/loongarch: Improve fdt for LoongArch virt machine  
						
						... 
						
						
						
						Add new items into LoongArch FDT, including rtc and uart info.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221028014007.2718352-3-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-11-04 17:07:40 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						021836936e 
					 
					
						
						
							
							hw/loongarch: Load FDT table into dram memory space  
						
						... 
						
						
						
						Load FDT table into dram memory space, and the addr is 2 MiB.
Since lowmem region starts from 0, FDT base address is located
at 2 MiB to avoid NULL pointer access.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221028014007.2718352-2-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-11-04 17:07:40 +08:00 
						 
				 
			
				
					
						
							
							
								Sunil V L 
							
						 
					 
					
						
						
							
						
						785a7383dd 
					 
					
						
						
							
							hw/arm, loongarch: Move load_image_to_fw_cfg() to common location  
						
						... 
						
						
						
						load_image_to_fw_cfg() is duplicated by both arm and loongarch. The same
function will be required by riscv too. So, it's time to refactor and
move this function to a common path.
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com >
Reviewed-by: Andrew Jones <ajones@ventanamicro.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20221004092351.18209-2-sunilvl@ventanamicro.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com > 
						
						
					 
					
						2022-10-14 14:29:50 +10:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						1895b96792 
					 
					
						
						
							
							hw/loongarch: Improve acpi dsdt table  
						
						... 
						
						
						
						Cleanup the previous pci information in acpi dsdt table.
And using the common acpi_dsdt_add_gpex function to build
the gpex and pci information.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-10-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-20 15:44:25 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						c3da26f314 
					 
					
						
						
							
							hw/loongarch: Support memory hotplug  
						
						... 
						
						
						
						Add hotplug/unplug interface for memory device.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-9-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-20 15:44:25 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						1cd5db2e88 
					 
					
						
						
							
							hw/loongarch: Fix acpi ged irq number in dsdt table  
						
						... 
						
						
						
						In dsdt, acpi ged irq should use gsi number, and the
VIRT_SCI_IRQ means it.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-8-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-20 15:44:25 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						f8ab9aa288 
					 
					
						
						
							
							hw/loongarch: Add RAMFB to dynamic_sysbus_devices list  
						
						... 
						
						
						
						Add RAMFB device to dynamic_sysbus_devices list so that it can be
hotpluged to the machine.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-7-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-20 15:44:25 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						e27e535768 
					 
					
						
						
							
							hw/loongarch: Add hotplug handler for machine  
						
						... 
						
						
						
						Add hotplug handler for LoongArch virt machine and now only support
the dynamic sysbus device.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-6-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-20 15:44:24 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						a1f7d78e56 
					 
					
						
						
							
							hw/loongarch: Add platform bus support  
						
						... 
						
						
						
						Add platform bus support and add the bus information such as address,
size, irq number to FDT table.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-5-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-20 15:44:24 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						ee413a52c1 
					 
					
						
						
							
							hw/loongarch: Add interrupt information to FDT table  
						
						... 
						
						
						
						Add interrupt information to FDT table, such as interrupt
controller info, compatiable info, etc.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-4-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-20 15:44:05 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						feae45dc42 
					 
					
						
						
							
							hw/loongarch: Support fw_cfg dma function  
						
						... 
						
						
						
						Support fw_cfg dma function for LoongArch virt machine.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-3-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-19 20:01:40 +08:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						3ff17902c4 
					 
					
						
						
							
							hw/loongarch: Remove vga device when loongarch init  
						
						... 
						
						
						
						Remove the vga device when loongarch machine init and
we will support other display device in the future.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Acked-by: Song Gao <gaosong@loongson.cn >
Message-Id: <20220908094623.73051-2-yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn > 
						
						
					 
					
						2022-09-19 20:01:36 +08:00 
						 
				 
			
				
					
						
							
							
								Song Gao 
							
						 
					 
					
						
						
							
						
						4cbadc40b9 
					 
					
						
						
							
							hw/loongarch: remove acpi-build.c unused variable 'aml_len'  
						
						... 
						
						
						
						Fix a compiler warning on openbsd:
../src/hw/loongarch/acpi-build.c:416:12: warning: variable 'aml_len'
set but not used [-Wunused-but-set-variable]
    size_t aml_len = 0;
           ^
Reported-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220721040046.3985609-1-gaosong@loongson.cn >
[rth: Removing aml_len in turn makes fadt set but not used.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-08-05 10:02:07 -07:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						74725231d6 
					 
					
						
						
							
							hw/loongarch: Change macro name 'LS7A_XXX' to 'VIRT_XXX'  
						
						... 
						
						
						
						Change macro name 'LS7A_XXX' to 'VIRT_XXX', as the loongarch
virt machinue use the GPEX bridge instead of LS7A bridge. So
the macro name should keep consistency.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220729073018.27037-3-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-29 15:07:55 -07:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						587858ed0d 
					 
					
						
						
							
							hw/loongarch: Rename file 'loongson3.XXX' to 'virt.XXX'  
						
						... 
						
						
						
						1. Rename 'loongson3.c' to 'virt.c' and change the meson.build file.
2. Rename 'loongson3.rst' to 'virt.rst'.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220729073018.27037-2-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-29 15:07:55 -07:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						fda3f15b00 
					 
					
						
						
							
							hw/loongarch: Add fdt support  
						
						... 
						
						
						
						Add LoongArch flatted device tree, adding cpu device node, firmware cfg node,
pcie node into it, and create fdt rom memory region. Now fdt info is not
full since only uefi bios uses fdt, linux kernel does not use fdt.
Loongarch Linux kernel uses acpi table which is full in qemu virt
machine.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220712083206.4187715-7-yangxiaojuan@loongson.cn >
[rth: Set TARGET_NEED_FDT, add fdt to meson.build]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-19 22:55:10 +05:30 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						735143f10d 
					 
					
						
						
							
							hw/loongarch: Add acpi ged support  
						
						... 
						
						
						
						Loongarch virt machine uses general hardware reduces acpi method, rather
than LS7A acpi device. Now only power management function is used in
acpi ged device, memory hotplug will be added later. Also acpi tables
such as RSDP/RSDT/FADT etc.
The acpi table has submited to acpi spec, and will release soon.
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220712083206.4187715-6-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-19 22:55:10 +05:30 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						3efa6fa1e6 
					 
					
						
						
							
							hw/loongarch: Add smbios support  
						
						... 
						
						
						
						Add smbios support for loongarch virt machine, and put them into fw_cfg
table so that bios can parse them quickly. The weblink of smbios spec:
https://www.dmtf.org/dsp/DSP0134 , the version is 3.6.0.
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220712083206.4187715-5-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-19 22:55:10 +05:30 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						fb1cd3a292 
					 
					
						
						
							
							hw/loongarch: Add linux kernel booting support  
						
						... 
						
						
						
						There are two situations to start system by kernel file. If exists bios
option, system will boot from loaded bios file, else system will boot
from hardcoded auxcode, and jump to kernel elf entry.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220712083206.4187715-4-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-19 22:55:10 +05:30 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						98afb0d4e9 
					 
					
						
						
							
							hw/loongarch: Add uefi bios loading support  
						
						... 
						
						
						
						Add uefi bios loading support, now only uefi bios is porting to
loongarch virt machine.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220712083206.4187715-3-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-19 22:55:10 +05:30 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						27ad7564e7 
					 
					
						
						
							
							hw/loongarch: Add fw_cfg table support  
						
						... 
						
						
						
						Add fw_cfg table for loongarch virt machine, including memmap table.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220712083206.4187715-2-yangxiaojuan@loongson.cn >
[rth: Replace fprintf with assert; drop unused return value;
      initialize reserved slot to zero.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-19 22:55:10 +05:30 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						ddf9326184 
					 
					
						
						
							
							hw/intc/loongarch_ipi: Fix ipi device access of 64bits  
						
						... 
						
						
						
						In general loongarch ipi device, 32bit registers is emulated, however for
anysend/mailsend device only 64bit register access is supported. So separate
the ipi memory region into two regions, including 32 bits and 64 bits.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Message-Id: <20220705064901.2353349-2-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-05 16:25:17 +05:30 
						 
				 
			
				
					
						
							
							
								Mao Bibo 
							
						 
					 
					
						
						
							
						
						490c03ab11 
					 
					
						
						
							
							hw/intc/loongarch_pch_msi: Fix msi vector convertion  
						
						... 
						
						
						
						Loongarch pch msi intc connects to extioi controller, the range of irq
number is 64-255.  Add a property for irqbase, so that we can compute
the irq offset from the view of pch_msi controller with the method:
  msi vector (from view of upper extioi intc) - irqbase
Signed-off-by: Mao Bibo <maobibo@loongson.cn >
Message-Id: <20220701030740.2469162-1-maobibo@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-07-04 11:08:58 +05:30 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						9e6602d657 
					 
					
						
						
							
							hw/loongarch: Add LoongArch virt power manager support.  
						
						... 
						
						
						
						This is a placeholder for missing ACPI, and will eventually be replaced.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220606124333.2060567-41-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-06-06 18:14:13 +00:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						6a6f26f481 
					 
					
						
						
							
							hw/loongarch: Add LoongArch load elf function.  
						
						... 
						
						
						
						Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220606124333.2060567-40-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-06-06 18:14:13 +00:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						c117f68a46 
					 
					
						
						
							
							hw/loongarch: Add LoongArch ls7a rtc device support  
						
						... 
						
						
						
						This patch add ls7a rtc device support.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220606124333.2060567-39-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-06-06 18:14:13 +00:00 
						 
				 
			
				
					
						
							
							
								Xiaojuan Yang 
							
						 
					 
					
						
						
							
						
						dc93b8df8a 
					 
					
						
						
							
							hw/loongarch: Add some devices support for 3A5000.  
						
						... 
						
						
						
						1.Add uart,virtio-net,vga and usb for 3A5000.
2.Add irq set and map for the pci host. Non pci device
use irq 0-16, pci device use 16-64.
3.Add some unimplented device to emulate guest unused
memory space.
Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn >
Signed-off-by: Song Gao <gaosong@loongson.cn >
Acked-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220606124333.2060567-38-yangxiaojuan@loongson.cn >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2022-06-06 18:14:13 +00:00