Repository navigation
Expand file tree
/
Copy path001-add-loongarch-virt-build-on-amd64.patch
More file actions
140 lines (126 loc) · 5.83 KB
/
Copy path001-add-loongarch-virt-build-on-amd64.patch
File metadata and controls
140 lines (126 loc) · 5.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
From 5f3c91a04bc303b216f4462ef2947f922951eac3 Mon Sep 17 00:00:00 2001
From: jiangcuo <jiangcuo@bingsin.com>
Date: Tue, 5 Nov 2024 21:15:21 +0800
Subject: [PATCH] Add loongarch64 build on amd64
---
Makefile | 5 +++--
debian/control | 7 +++++++
debian/pve-edk2-firmware-loongarch64.install | 2 ++
debian/pve-edk2-firmware-loongarch64.links | 2 ++
debian/rules | 22 ++++++++++++++++----
5 files changed, 32 insertions(+), 6 deletions(-)
create mode 100644 debian/pve-edk2-firmware-loongarch64.install
create mode 100644 debian/pve-edk2-firmware-loongarch64.links
diff --git a/Makefile b/Makefile
index 6091ce7..d66e4bc 100644
--- a/Makefile
+++ b/Makefile
@@ -13,8 +13,9 @@ VIRTUAL_DEB = $(PACKAGE)_$(DEB_VERSION)_all.deb
AMD64_DEB = $(PACKAGE)-legacy_$(DEB_VERSION)_all.deb $(PACKAGE)-ovmf_$(DEB_VERSION)_all.deb
AARCH64_DEB = $(PACKAGE)-aarch64_$(DEB_VERSION)_all.deb
RISCV_DEB = $(PACKAGE)-riscv_$(DEB_VERSION)_all.deb
+LOONGARCH64_DEB = $(PACKAGE)-loongarch64_$(DEB_VERSION)_all.deb
-DEBS = $(VIRTUAL_DEB) $(AMD64_DEB) $(AARCH64_DEB) $(RISCV_DEB)
+DEBS = $(VIRTUAL_DEB) $(AMD64_DEB) $(AARCH64_DEB) $(RISCV_DEB) $(LOONGARCH64_DEB)
all: $(DEBS)
@echo $(DEBS)
@@ -29,7 +30,7 @@ $(BUILDDIR): $(SRCDIR)/Readme.md
.PHONY: deb
deb: $(DEBS)
-$(AMD64_DEB) $(AARCH64_DEB) $(RISCV_DEB): $(VIRTUAL_DEB)
+$(AMD64_DEB) $(AARCH64_DEB) $(RISCV_DEB) $(LOONGARCH64_DEB): $(VIRTUAL_DEB)
$(VIRTUAL_DEB): $(BUILDDIR)
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
lintian $(DEBS)
diff --git a/debian/control b/debian/control
index 3867cd2..92afbe1 100644
--- a/debian/control
+++ b/debian/control
@@ -66,6 +66,13 @@ Description: edk2 based RISC-V UEFI firmware modules for virtual machines
for UEFI, including Secure Boot, allowing use of UEFI in place of a
traditional BIOS in your VM.
+Package: pve-edk2-firmware-loongarch64
+Architecture: all
+Depends: ${misc:Depends},
+Multi-Arch: foreign
+Description: edk2 based loongarch64 UEFI firmware modules for virtual machines
+ A build of EDK II for 64-bit loongarch virtual machines.
+
Package: pve-edk2-firmware-legacy
Architecture: all
Depends: ${misc:Depends},
diff --git a/debian/pve-edk2-firmware-loongarch64.install b/debian/pve-edk2-firmware-loongarch64.install
new file mode 100644
index 0000000..a0dfaf6
--- /dev/null
+++ b/debian/pve-edk2-firmware-loongarch64.install
@@ -0,0 +1,2 @@
+Build/LoongArchVirtQemu/RELEASE_*GCC*/FV/QEMU_EFI.fd /usr/share/pve-edk2-firmware/LOONGARCH64
+Build/LoongArchVirtQemu/RELEASE_*GCC*/FV/QEMU_VARS.fd /usr/share/pve-edk2-firmware/LOONGARCH64
\ No newline at end of file
diff --git a/debian/pve-edk2-firmware-loongarch64.links b/debian/pve-edk2-firmware-loongarch64.links
new file mode 100644
index 0000000..973a78e
--- /dev/null
+++ b/debian/pve-edk2-firmware-loongarch64.links
@@ -0,0 +1,2 @@
+/usr/share/pve-edk2-firmware/LOONGARCH64/QEMU_EFI.fd /usr/share/pve-edk2-firmware/LOONGARCH64_VIRT_CODE.fd
+/usr/share/pve-edk2-firmware/LOONGARCH64/QEMU_VARS.fd /usr/share/pve-edk2-firmware/LOONGARCH64_VIRT_VARS.fd
\ No newline at end of file
diff --git a/debian/rules b/debian/rules
index a47c807..09d6908 100755
--- a/debian/rules
+++ b/debian/rules
@@ -28,7 +28,7 @@ ifeq ($(DEB_BUILD_ARCH),loongarch64)
endif
PCD_RELEASE_DATE = $(shell date -d@$(SOURCE_DATE_EPOCH) "+%m/%d/%Y")
-PCD_FLAGS = --pcd PcdFirmwareVendor=L"Proxmox distribution of EDK II\\0"
+PCD_FLAGS = --pcd PcdFirmwareVendor=L"Proxmox Port distribution of EDK II\\0"
PCD_FLAGS += --pcd PcdFirmwareVersionString=L"$(DEB_VERSION)\\0"
PCD_FLAGS += --pcd PcdFirmwareReleaseDateString=L"$(PCD_RELEASE_DATE)\\0"
COMMON_FLAGS = -DNETWORK_HTTP_BOOT_ENABLE=TRUE
@@ -50,7 +50,9 @@ AAVMF_FLAGS += -DTPM2_CONFIG_ENABLE=TRUE
AAVMF_FLAGS += -DCAVIUM_ERRATUM_27456=TRUE
RISCV64_FLAGS = $(COMMON_FLAGS)
-LOONGARCH64_FLAGS = $(COMMON_FLAGS)
+LOONGARCH64_FLAGS = -DNETWORK_HTTP_BOOT_ENABLE=TRUE
+LOONGARCH64_FLAGS += -DSECURE_BOOT_ENABLE=TRUE
+LOONGARCH64_FLAGS += -DNETWORK_IP6_ENABLE=TRUE
# Clear variables used internally by the edk2 build system
undefine WORKSPACE
@@ -63,7 +65,7 @@ undefine CONF_PATH
%:
dh $@
-override_dh_auto_build: build-qemu-efi-aarch64 build-ovmf build-ovmf32 build-qemu-efi-riscv64
+override_dh_auto_build: build-qemu-efi-aarch64 build-ovmf build-ovmf32 build-qemu-efi-riscv64 build-qemu-efi-loongarch64
debian/setup-build-stamp:
cp -a debian/Logo.bmp MdeModulePkg/Logo/Logo.bmp
@@ -99,6 +101,10 @@ AAVMF_PREENROLLED_VARS = $(addprefix $(AAVMF_BUILD_DIR)/FV/,AAVMF_VARS.ms.fd AAV
RISCV64_BUILD_DIR = Build/RiscVVirtQemu/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
RISCV64_IMAGES = $(addprefix $(RISCV64_BUILD_DIR)/FV/,RISCV_VIRT_CODE.fd RISCV_VIRT_VARS.fd)
+
+LOONGARCH64_BUILD_DIR = Build/LoongArchVirtQemu/$(BUILD_TYPE)_$(EDK2_TOOLCHAIN)
+LOONGARCH64_IMAGES = $(addprefix $(LOONGARCH64_BUILD_DIR)/FV/,QEMU_EFI.fd QEMU_VARS.fd)
+
build-ovmf32: $(OVMF32_BINARIES) $(OVMF32_IMAGES)
$(OVMF32_BINARIES) $(OVMF32_IMAGES): debian/setup-build-stamp
rm -rf $(OVMF32_INSTALL_DIR)
@@ -217,6 +223,14 @@ $(RISCV64_IMAGES): debian/setup-build-stamp
truncate -s 32M $(RISCV64_BUILD_DIR)/FV/RISCV_VIRT_CODE.fd
truncate -s 32M $(RISCV64_BUILD_DIR)/FV/RISCV_VIRT_VARS.fd
+build-qemu-efi-loongarch64: $(LOONGARCH64_IMAGES)
+$(LOONGARCH64_IMAGES): debian/setup-build-stamp
+ set -e; . ./edksetup.sh; \
+ build -a LOONGARCH64 \
+ -t $(EDK2_TOOLCHAIN) \
+ -p OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc \
+ $(LOONGARCH64_FLAGS) -b $(BUILD_TYPE)
+
override_dh_auto_clean:
-. ./edksetup.sh; build clean
make -C BaseTools clean
@@ -253,4 +267,4 @@ get-orig-source:
edk2-$(DEB_VERSION_UPSTREAM)
rm -rf edk2.tmp edk2-$(DEB_VERSION_UPSTREAM)
-.PHONY: build-ovmf build-ovmf32 build-qemu-efi build-qemu-efi-aarch64 build-qemu-efi-riscv64
+.PHONY: build-ovmf build-ovmf32 build-qemu-efi build-qemu-efi-aarch64 build-qemu-efi-riscv64 build-qemu-efi-loongarch64