mockbuild@booky:~/pbdeps$ dpkg-deb -c xen-hypervisor-4.18-amd64_4.18.0-1+deb12u3.4_amd64.deb drwxr-xr-x root/root 0 2024-02-04 11:39 ./ drwxr-xr-x root/root 0 2024-02-04 11:39 ./boot/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./boot/efi/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./boot/efi/EFI/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./boot/efi/EFI/debian/ -rwxr-xr-x root/root 2921654 2024-02-04 11:39 ./boot/efi/EFI/debian/xen-4.18-amd64-perf.efi -rwxr-xr-x root/root 2695136 2024-02-04 11:39 ./boot/efi/EFI/debian/xen-4.18-amd64-xsm.efi -rwxr-xr-x root/root 2587744 2024-02-04 11:39 ./boot/efi/EFI/debian/xen-4.18-amd64.efi drwxr-xr-x root/root 0 2024-02-04 11:39 ./boot/flask/ -rw-r--r-- root/root 10943 2024-02-04 11:39 ./boot/flask/xenpolicy-4.18 drwxr-xr-x root/root 0 2024-02-04 11:39 ./boot/kcfg/ -rw-r--r-- root/root 3013 2024-02-04 11:39 ./boot/kcfg/xen-4.18-perf.config -rw-r--r-- root/root 2854 2024-02-04 11:39 ./boot/kcfg/xen-4.18-xsm.config -rw-r--r-- root/root 2636 2024-02-04 11:39 ./boot/kcfg/xen-4.18.config -rw-r--r-- root/root 1239932 2024-02-04 11:39 ./boot/xen-4.18-amd64-perf.gz -rw-r--r-- root/root 1221919 2024-02-04 11:39 ./boot/xen-4.18-amd64-xsm.gz -rw-r--r-- root/root 1173225 2024-02-04 11:39 ./boot/xen-4.18-amd64.gz drwxr-xr-x root/root 0 2024-02-04 11:39 ./etc/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./etc/default/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./etc/default/grub.d/ -rw-r--r-- root/root 1834 2024-02-04 11:39 ./etc/default/grub.d/xen-4.18.cfg drwxr-xr-x root/root 0 2024-02-04 11:39 ./usr/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./usr/share/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./usr/share/bug/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./usr/share/bug/xen-hypervisor-4.18-amd64/ -rw-r--r-- root/root 19 2016-12-22 09:16 ./usr/share/bug/xen-hypervisor-4.18-amd64/control drwxr-xr-x root/root 0 2024-02-04 11:39 ./usr/share/doc/ drwxr-xr-x root/root 0 2024-02-04 11:39 ./usr/share/doc/xen-hypervisor-4.18-amd64/ -rw-r--r-- root/root 14734 2024-02-04 11:39 ./usr/share/doc/xen-hypervisor-4.18-amd64/changelog.Debian.gz -rw-r--r-- root/root 5051 2024-02-04 11:39 ./usr/share/doc/xen-hypervisor-4.18-amd64/changelog.gz -rw-r--r-- root/root 14537 2016-12-22 09:01 ./usr/share/doc/xen-hypervisor-4.18-amd64/copyright mockbuild@booky:~/pbdeps$ cat xen_perf_fix #!/bin/bash # if XSM is not set, insert the settings, then delete the reminder sed -i -e '/^# CONFIG_DEBUG_INFO/ i CONFIG_DEBUG=y\ # CONFIG_CRASH_DEBUG is not set\ # CONFIG_GDBSX is not set\ CONFIG_FRAME_POINTER=y\ # CONFIG_DEBUG_LOCK_PROFILE is not set\ CONFIG_DEBUG_LOCKS=y\ CONFIG_PERF_COUNTERS=y\ CONFIG_PERF_ARRAYS=y\ CONFIG_VERBOSE_DEBUG=y\ CONFIG_SCRUB_DEBUG=y\ # CONFIG_UBSAN is not set\ # CONFIG_DEBUG_TRACE is not set\ CONFIG_XMEM_POOL_POISON=y\ CONFIG_DEBUG_INFO=y /^# CONFIG_DEBUG /d' $1/.config sed -i -e '/CONFIG_SCHED_CREDIT2=y/ a CONFIG_SCHED_RTDS=y\ CONFIG_SCHED_ARINC653=y\ CONFIG_SCHED_NULL=y' $1/.config sed -i -e '/^# CONFIG_DEBUG_INFO/d' $1/.config sed -i -e '/^CONFIG_XEN_ALIGN_DEFAULT=y/ i CONFIG_HVM_FEP=y' $1/.config mockbuild@booky:~/pbdeps$ cat add-perf-rules.diff --- ../zzrules.real.noperf 2024-02-03 11:24:29.000000000 -0800 +++ debian/rules.real 2024-02-04 11:38:14.148250972 -0800 @@ -17,6 +17,7 @@ export CONFIG_TESTS=n export XEN_SYSTEMD_DIR export FLASK_POLICY=y +export DEBUG_XENPERF=y export PANDOC= export FIG2DEV= export EFI_VENDOR=debian @@ -63,6 +64,9 @@ ifeq ($(FLASK_POLICY),y) build-arch-flavour: $(STAMPS_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_XSM endif +ifeq ($(DEBUG_XENPERF),y) +build-arch-flavour: $(STAMPS_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_PERF +endif build-indep: $(STAMPS_DIR)/build-docs setup-arch: $(STAMPS_DIR)/setup-utils_$(ARCH) @@ -110,6 +114,21 @@ # echo "XEN_VENDORVERSION := $(EXTRAVERSION)" > $(DIR)/xen/xen-version @$(stamp) +$(STAMPS_DIR)/su-hyp_$(ARCH)_$(FLAVOUR)_PERF: SOURCE_FILES = $(filter-out debian, $(wildcard *)) +$(STAMPS_DIR)/su-hyp_$(ARCH)_$(FLAVOUR)_PERF: DIR=$(BUILD_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_PERF +$(STAMPS_DIR)/su-hyp_$(ARCH)_$(FLAVOUR)_PERF: + @rm -rf $(DIR) + mkdir -p $(DIR) + sed -i -e '/EXTRAVER/ s/1-pre/0/' xen/Makefile ; + sed -i -e '/CONFIG_TESTS/ s/y$$/n/' Config.mk ; + cp -al $(SOURCE_FILES) $(DIR) + sed -i -e '/^CFLAGS/ s/-Werror/-fcf-protection=none -Wno-error/' $(DIR)/xen/Rules.mk ; + cp debian/xen_$(VERSION)_$(ARCH).config $(DIR)/xen/.config ; + ./debian/xen_perf_fix $(DIR)/xen + echo "b1fdd7d0e47e0831ac-x86/ucode: Fix stability of the raw CPU Policy rescan-Thu 1 Feb 2024 09:02" > $(DIR)/.scmversion +# echo "XEN_VENDORVERSION := $(EXTRAVERSION)" > $(DIR)/xen/xen-version + @$(stamp) + $(STAMPS_DIR)/setup-utils_$(ARCH): SOURCE_FILES = $(filter-out debian, $(wildcard *)) $(STAMPS_DIR)/setup-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH) @@ -203,6 +222,16 @@ LANG=C.UTF-8 touch $@ +$(STAMPS_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_PERF: DIR=$(BUILD_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_PERF +$(STAMPS_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_PERF: XEN_EXTRAVERSION=.0-perf + set; + for i in $(shell dpkg-buildflags --list);do dpkg-buildflags --get $$i ;done + env -u LDFLAGS -u CFLAGS $(MAKE_CLEAN) -C $(DIR)/xen \ + XEN_COMPILE_ARCH=$(XEN_ARCH) XEN_DOMAIN=prymar56.org XEN_EXTRAVERSION=.0-perf \ + XEN_TARGET_ARCH=$(XEN_ARCH) \ + LANG=C.UTF-8 + touch $@ + $(STAMPS_DIR)/build-utils_$(ARCH) \ $(STAMPS_DIR)/install-utils_$(ARCH): CONFIG = \ @@ -294,6 +323,10 @@ ins-hyp_$(ARCH)_$(FLAVOUR): DIR_XSM = $(BUILD_DIR)/build-utils_$(ARCH) ins-hyp_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_XSM endif +ifeq ($(DEBUG_XENPERF),y) +ins-hyp_$(ARCH)_$(FLAVOUR): DIR_PERF = $(BUILD_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_PERF +ins-hyp_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR)_PERF +endif ins-hyp_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/bld-hyp_$(ARCH)_$(FLAVOUR) dh_testdir dh_testroot @@ -320,6 +353,14 @@ strip -s debian/$(PACKAGE_NAME)/boot/efi/EFI/$(EFI_VENDOR)/xen-$(VERSION)-$(FLAVOUR)-xsm.efi endif endif +ifeq ($(DEBUG_XENPERF),y) + cp -p $(DIR_PERF)/xen/.config debian/$(PACKAGE_NAME)/boot/kcfg/xen-$(VERSION)-perf.config + cp $(DIR_PERF)/xen/xen$(IMAGE_SUFFIX) debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR)-perf$(IMAGE_SUFFIX) +ifeq ($(ARCH),amd64) + cp $(DIR_PERF)/xen/xen.efi debian/$(PACKAGE_NAME)/boot/efi/EFI/$(EFI_VENDOR)/xen-$(VERSION)-$(FLAVOUR)-perf.efi + strip -s debian/$(PACKAGE_NAME)/boot/efi/EFI/$(EFI_VENDOR)/xen-$(VERSION)-$(FLAVOUR)-perf.efi +endif +endif cp -p $(DIR)/xen/.config debian/$(PACKAGE_NAME)/boot/kcfg/xen-$(VERSION).config cp $(DIR)/xen/xen$(IMAGE_SUFFIX) debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR)$(IMAGE_SUFFIX) if [ -d debian/$(PACKAGE_NAME)/usr/lib64/efi ]; then \