roms: Support compile the efi bios for loongarch
Added loongarch UEFI BIOS support to compiled scripts. UEFI code images require 16M alignment, flash images require 16M alignment, under the loongarch architecture.This is agreed upon when the firmware is loaded in QEMU under Loongarch. The naming of UEFI under loongarch refers to the x86 and arm naming methods, and the UEFI image names in x86 and arm are: edk2-i386-code.fd edk2-i386-vars.fd edk2-arm-code.fd edk2-arm-vars.fd So on loongarch, we named it: edk2-loongarch64-code.fd edk2-loongarch64-vars.fd Signed-off-by: Xianglai Li <lixianglai@loongson.cn> Message-ID: <20240724022245.1317884-1-lixianglai@loongson.cn> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
		
							parent
							
								
									065e2ecf79
								
							
						
					
					
						commit
						b883fb93db
					
				| @ -64,7 +64,7 @@ Note: You need get the latest cross-tools at https://github.com/loongson/build-t | ||||
| 
 | ||||
| (3) Build BIOS: | ||||
| 
 | ||||
|     See: https://github.com/tianocore/edk2-platforms/tree/master/Platform/Loongson/LoongArchQemuPkg#readme | ||||
|     See: https://github.com/tianocore/edk2/tree/master/OvmfPkg/LoongArchVirt#readme | ||||
| 
 | ||||
| Note: To build the release version of the bios,  set --buildtarget=RELEASE, | ||||
|       the bios file path:  Build/LoongArchQemu/RELEASE_GCC5/FV/QEMU_EFI.fd | ||||
|  | ||||
| @ -93,7 +93,7 @@ else | ||||
|   iasl = find_program(get_option('iasl'), required: true) | ||||
| endif | ||||
| 
 | ||||
| edk2_targets = [ 'arm-softmmu', 'aarch64-softmmu', 'i386-softmmu', 'x86_64-softmmu', 'riscv64-softmmu' ] | ||||
| edk2_targets = [ 'arm-softmmu', 'aarch64-softmmu', 'i386-softmmu', 'x86_64-softmmu', 'riscv64-softmmu', 'loongarch64-softmmu' ] | ||||
| unpack_edk2_blobs = false | ||||
| foreach target : edk2_targets | ||||
|   if target in target_dirs | ||||
|  | ||||
							
								
								
									
										31
									
								
								pc-bios/descriptors/60-edk2-loongarch64.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								pc-bios/descriptors/60-edk2-loongarch64.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| { | ||||
|     "description": "UEFI firmware for loongarch64", | ||||
|     "interface-types": [ | ||||
|         "uefi" | ||||
|     ], | ||||
|     "mapping": { | ||||
|         "device": "flash", | ||||
|         "executable": { | ||||
|             "filename": "@DATADIR@/edk2-loongarch64-code.fd", | ||||
|             "format": "raw" | ||||
|         }, | ||||
|         "nvram-template": { | ||||
|             "filename": "@DATADIR@/edk2-loongarch64-vars.fd", | ||||
|             "format": "raw" | ||||
|         } | ||||
|     }, | ||||
|     "targets": [ | ||||
|         { | ||||
|             "architecture": "loongarch64", | ||||
|             "machines": [ | ||||
|                 "virt*" | ||||
|             ] | ||||
|         } | ||||
|     ], | ||||
|     "features": [ | ||||
| 
 | ||||
|     ], | ||||
|     "tags": [ | ||||
| 
 | ||||
|     ] | ||||
| } | ||||
| @ -5,7 +5,8 @@ if unpack_edk2_blobs and get_option('install_blobs') | ||||
|     '60-edk2-aarch64.json', | ||||
|     '60-edk2-arm.json', | ||||
|     '60-edk2-i386.json', | ||||
|     '60-edk2-x86_64.json' | ||||
|     '60-edk2-x86_64.json', | ||||
|     '60-edk2-loongarch64.json' | ||||
|   ] | ||||
|     configure_file(input: files(f), | ||||
|                    output: f, | ||||
|  | ||||
| @ -11,6 +11,8 @@ if unpack_edk2_blobs | ||||
|     'edk2-i386-vars.fd', | ||||
|     'edk2-x86_64-code.fd', | ||||
|     'edk2-x86_64-secure-code.fd', | ||||
|     'edk2-loongarch64-code.fd', | ||||
|     'edk2-loongarch64-vars.fd', | ||||
|   ] | ||||
| 
 | ||||
|   foreach f : fds | ||||
|  | ||||
| @ -131,3 +131,16 @@ cpy1 = FV/RISCV_VIRT_CODE.fd  edk2-riscv-code.fd | ||||
| cpy2 = FV/RISCV_VIRT_VARS.fd  edk2-riscv-vars.fd | ||||
| pad1 = edk2-riscv-code.fd     32m | ||||
| pad2 = edk2-riscv-vars.fd     32m | ||||
| 
 | ||||
| #################################################################################### | ||||
| # LoongArch64 | ||||
| 
 | ||||
| [build.loongarch64.qemu] | ||||
| conf = OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc | ||||
| arch = LOONGARCH64 | ||||
| plat = LoongArchVirtQemu | ||||
| dest = ../pc-bios | ||||
| cpy1 = FV/QEMU_EFI.fd  edk2-loongarch64-code.fd | ||||
| pad1 = edk2-loongarch64-code.fd     16m | ||||
| cpy2 = FV/QEMU_VARS.fd  edk2-loongarch64-vars.fd | ||||
| pad2 = edk2-loongarch64-vars.fd     16m | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Xianglai Li
						Xianglai Li