|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] hvmloader: Use fastcall everywhere
commit b25b28ede1cba43eda1e0b84ad967683b8196847
Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Thu May 9 18:52:59 2024 +0100
Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Wed Jul 24 18:24:56 2024 +0100
hvmloader: Use fastcall everywhere
HVMLoader is a single freestanding 32bit program with no external
dependencies. Use the fastcall calling convetion (up to 3 parameters in
registers) globally, which is more efficient than passing all parameters on
the stack.
Some bloat-o-meter highlights are:
add/remove: 0/0 grow/shrink: 3/118 up/down: 8/-3004 (-2996)
Function old new delta
...
hvmloader_acpi_build_tables 1125 961 -164
acpi_build_tables 1277 1081 -196
pci_setup 4756 4516 -240
construct_secondary_tables 1689 1447 -242
No functional change.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
tools/firmware/hvmloader/Makefile | 2 +-
tools/firmware/hvmloader/smp.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/firmware/hvmloader/Makefile
b/tools/firmware/hvmloader/Makefile
index 84cba171cd..c7bc400657 100644
--- a/tools/firmware/hvmloader/Makefile
+++ b/tools/firmware/hvmloader/Makefile
@@ -25,7 +25,7 @@ ld-option = $(shell if $(LD) -v $(1) >/dev/null 2>&1; then
echo y; else echo n;
# SMBIOS spec requires format mm/dd/yyyy
SMBIOS_REL_DATE ?= $(shell date +%m/%d/%Y)
-CFLAGS += $(CFLAGS_xeninclude) -fno-pic
+CFLAGS += $(CFLAGS_xeninclude) -fno-pic -mregparm=3
# We mustn't use tools-only public interfaces.
CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
diff --git a/tools/firmware/hvmloader/smp.c b/tools/firmware/hvmloader/smp.c
index 5d46eee1c5..1b940cefd0 100644
--- a/tools/firmware/hvmloader/smp.c
+++ b/tools/firmware/hvmloader/smp.c
@@ -31,7 +31,7 @@
static int ap_callin;
-static void __attribute__((regparm(1))) cpu_setup(unsigned int cpu)
+static void cpu_setup(unsigned int cpu)
{
printf(" - CPU%d ... ", cpu);
cacheattr_init();
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |