[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] 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#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |