[PATCH] [G/master] UBUNTU: packaging: arm64: introduce a 64KB mem pages flavour called 'generic-64k'

Paolo Pisati paolo.pisati at canonical.com
Fri Sep 18 14:07:11 UTC 2020


This patch introduces an arm64 64KB pages enabled flavour of the generic kernel,
called 'generic-64k'.

Earlier benchmark with this config have shown an obvious trade-off:


* Performance
- comparing geometic mean of over 35 stress throughput tests we see
    a bogo op throughput increase of 22.0-24.5% with 64K pages compared
    to 4K pages.

* Memory usage:
  - a simple check of memory used after boot shows that 64K pages uses
    around 3.2-3.6x more memory. The amount of memory being shared also
    increases by 15x more.
  - a 32GB machine is seeing about 480MB more memory consumption, or
    ~ 1.5% less free memory.


In short, loss of memory because pages are larger but a large performance win
because of less page table entry references and TLB misses: for machines with
large memory, this flavour could make sense.

Since we are introducing an independent flavour, generic is not affected by this
change.

Signed-off-by: Paolo Pisati <paolo.pisati at canonical.com>
---
 debian.master/config/annotations              | 34 +++++++++----------
 .../config/arm64/config.common.arm64          |  5 ---
 .../config/arm64/config.flavour.generic       |  9 +++++
 .../config/arm64/config.flavour.generic-64k   | 12 +++++++
 debian.master/config/config.common.ubuntu     |  7 ++--
 debian.master/control.d/vars.generic-64k      |  6 ++++
 debian.master/d-i/kernel-versions             |  1 +
 debian.master/etc/getabis                     |  2 +-
 debian.master/rules.d/arm64.mk                |  4 ++-
 9 files changed, 52 insertions(+), 28 deletions(-)
 create mode 100644 debian.master/config/arm64/config.flavour.generic-64k
 create mode 100644 debian.master/control.d/vars.generic-64k

diff --git a/debian.master/config/annotations b/debian.master/config/annotations
index 2f8232c33129..087f83ab378a 100644
--- a/debian.master/config/annotations
+++ b/debian.master/config/annotations
@@ -2083,7 +2083,7 @@ CONFIG_DRM_GMA600                               policy<{'amd64': 'y'}>
 CONFIG_DRM_GMA3600                              policy<{'amd64': 'y'}>
 
 # Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> MSM DRM
-CONFIG_DRM_MSM                                  policy<{'arm64-generic': 'm', 'armhf': 'm'}>
+CONFIG_DRM_MSM                                  policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}>
 CONFIG_DRM_MSM_REGISTER_LOGGING                 policy<{'arm64': 'n', 'armhf': 'n'}>
 CONFIG_DRM_MSM_GPU_SUDO                         policy<{'arm64': 'n', 'armhf': 'n'}>
 CONFIG_DRM_MSM_HDMI_HDCP                        policy<{'arm64': 'y', 'armhf': 'y'}>
@@ -2695,7 +2695,7 @@ CONFIG_I2C_DEBUG_BUS                            policy<{'amd64': 'n', 'arm64': '
 CONFIG_I2C_CHARDEV                              note<LP:1417032>
 
 # Menu: Device Drivers >> I2C support >> I2C support >> I2C Algorithms
-CONFIG_I2C_ALGOBIT                              policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}>
+CONFIG_I2C_ALGOBIT                              policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}>
 CONFIG_I2C_ALGOPCA                              policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 
 # Menu: Device Drivers >> I2C support >> I2C support >> I2C Hardware Bus support
@@ -3329,7 +3329,7 @@ CONFIG_INFINIBAND_I40IW                         policy<{'amd64': 'm', 'arm64': '
 CONFIG_MLX4_INFINIBAND                          policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}>
 CONFIG_MLX5_INFINIBAND                          policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'm'}>
 CONFIG_INFINIBAND_OCRDMA                        policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}>
-CONFIG_INFINIBAND_VMWARE_PVRDMA                 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}>
+CONFIG_INFINIBAND_VMWARE_PVRDMA                 policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm'}>
 CONFIG_INFINIBAND_USNIC                         policy<{'amd64': 'm'}>
 CONFIG_INFINIBAND_HNS                           policy<{'arm64': 'm'}>
 CONFIG_INFINIBAND_HNS_HIP06                     policy<{'arm64': 'y'}>
@@ -3894,7 +3894,7 @@ CONFIG_MMC_OMAP_HS                              note<boot essential on arm>
 # Menu: Device Drivers >> MMC/SD/SDIO card support >> Samsung S3C SD/MMC transfer code
 
 # Menu: Device Drivers >> MMC/SD/SDIO card support >> Secure Digital Host Controller Interface support
-CONFIG_MMC_SDHCI                                policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'y', 'ppc64el': 'm'}>
+CONFIG_MMC_SDHCI                                policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'y', 'ppc64el': 'm'}>
 CONFIG_MMC_SDHCI_PCI                            policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 CONFIG_MMC_RICOH_MMC                            policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}>
 CONFIG_MMC_SDHCI_ACPI                           policy<{'amd64': 'm', 'arm64': 'm'}>
@@ -5215,7 +5215,7 @@ CONFIG_NVMEM_BCM_OCOTP                          policy<{'arm64': 'm'}>
 CONFIG_NVMEM_SUNXI_SID                          policy<{'arm64': 'm'}>
 CONFIG_UNIPHIER_EFUSE                           policy<{'armhf': 'm'}>
 CONFIG_NVMEM_VF610_OCOTP                        policy<{'armhf-generic': 'n'}>
-CONFIG_MESON_EFUSE                              policy<{'arm64': 'm'}>
+CONFIG_MESON_EFUSE                              policy<{'arm64-generic': 'm'}>
 CONFIG_MESON_MX_EFUSE                           policy<{'arm64': 'm', 'armhf': 'm'}>
 CONFIG_NVMEM_SNVS_LPGPR                         policy<{'arm64': 'm', 'armhf-generic': 'm'}>
 CONFIG_RAVE_SP_EEPROM                           policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
@@ -5234,7 +5234,7 @@ CONFIG_MICREL_KS8995MA                          policy<{'amd64': 'm', 'arm64': '
 CONFIG_PLIP                                     policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 CONFIG_XEN_NETDEV_FRONTEND                      policy<{'amd64': 'y', 'arm64': 'y'}>
 CONFIG_XEN_NETDEV_BACKEND                       policy<{'amd64': 'm', 'arm64': 'm'}>
-CONFIG_VMXNET3                                  policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 's390x': 'n'}>
+CONFIG_VMXNET3                                  policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm', 's390x': 'n'}>
 CONFIG_FUJITSU_ES                               policy<{'amd64': 'm', 'arm64': 'm'}>
 CONFIG_USB4_NET                                 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 CONFIG_HYPERV_NET                               policy<{'amd64': 'm'}>
@@ -7328,7 +7328,7 @@ CONFIG_RPMSG_CHAR                               policy<{'amd64': 'm', 'arm64': '
 CONFIG_RPMSG_MTK_SCP                            policy<{'arm64': 'm', 'armhf': 'm'}>
 CONFIG_RPMSG_QCOM_GLINK_RPM                     policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 CONFIG_RPMSG_QCOM_GLINK_SMEM                    policy<{'arm64': 'm', 'armhf': 'm'}>
-CONFIG_RPMSG_QCOM_SMD                           policy<{'arm64-generic': 'm', 'armhf': 'm'}>
+CONFIG_RPMSG_QCOM_SMD                           policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}>
 CONFIG_RPMSG_VIRTIO                             policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}>
 
 # Menu: Device Drivers >> SCSI device support
@@ -7539,7 +7539,7 @@ CONFIG_MESON_CLK_MEASURE                        policy<{'arm64': 'y', 'armhf': '
 CONFIG_MESON_GX_SOCINFO                         policy<{'arm64': 'y', 'armhf': 'y'}>
 CONFIG_MESON_GX_PM_DOMAINS                      policy<{'arm64': 'y', 'armhf': 'y'}>
 CONFIG_MESON_EE_PM_DOMAINS                      policy<{'arm64': 'y', 'armhf': 'y'}>
-CONFIG_MESON_SECURE_PM_DOMAINS                  policy<{'arm64': 'y'}>
+CONFIG_MESON_SECURE_PM_DOMAINS                  policy<{'arm64-generic': 'y'}>
 CONFIG_MESON_MX_SOCINFO                         policy<{'arm64': 'y', 'armhf': 'y'}>
 
 # Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Aspeed SoC drivers
@@ -7762,8 +7762,8 @@ CONFIG_SPI_DW_PCI                               policy<{'amd64': 'm', 'arm64': '
 CONFIG_SPI_DW_MMIO                              policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 
 # Menu: Device Drivers >> SPMI support
-CONFIG_SPMI                                     policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}>
-CONFIG_SPMI_MSM_PMIC_ARB                        policy<{'arm64-generic': 'm', 'armhf': 'm'}>
+CONFIG_SPMI                                     policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm', 'ppc64el': 'm', 's390x': 'n'}>
+CONFIG_SPMI_MSM_PMIC_ARB                        policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}>
 
 # Menu: Device Drivers >> Serial ATA and Parallel ATA drivers (libata)
 CONFIG_ATA                                      policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}>
@@ -7887,14 +7887,14 @@ CONFIG_MEMSTICK_REALTEK_PCI                     policy<{'amd64': 'm', 'arm64': '
 CONFIG_MEMSTICK_REALTEK_USB                     policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 
 # Menu: Device Drivers >> Sound card support
-CONFIG_SOUND                                    policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'y', 'ppc64el': 'm', 's390x': 'n'}>
+CONFIG_SOUND                                    policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'y', 'ppc64el': 'm', 's390x': 'n'}>
 CONFIG_SOUND_OSS_CORE_PRECLAIM                  policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}>
 #
 CONFIG_SOUND                                    note<not autoloadable on omap>
 CONFIG_SOUND_OSS_CORE_PRECLAIM                  mark<ENFORCED> note<LP#1105230 LP#1385510>
 
 # Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture
-CONFIG_SND                                      policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'y', 'ppc64el': 'm'}>
+CONFIG_SND                                      policy<{'amd64': 'm', 'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'y', 'ppc64el': 'm'}>
 CONFIG_SND_OSSEMUL                              policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}>
 CONFIG_SND_MIXER_OSS                            policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}>
 CONFIG_SND_PCM_OSS                              policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}>
@@ -8983,7 +8983,7 @@ CONFIG_TEGRA_SOCTHERM                           policy<{'armhf-generic': 'n'}>
 CONFIG_TEGRA_BPMP_THERMAL                       policy<{'armhf-generic': 'm'}>
 
 # Menu: Device Drivers >> Thermal drivers >> Qualcomm thermal drivers
-CONFIG_QCOM_TSENS                               policy<{'arm64-generic': 'm', 'armhf': 'm'}>
+CONFIG_QCOM_TSENS                               policy<{'arm64-generic': 'm', 'arm64-generic-64k': 'm', 'armhf': 'm'}>
 CONFIG_QCOM_SPMI_TEMP_ALARM                     policy<{'arm64': 'm', 'armhf': 'm'}>
 
 # Menu: Device Drivers >> Thermal drivers >> STMicroelectronics thermal drivers
@@ -12701,7 +12701,7 @@ CONFIG_HARDEN_BRANCH_PREDICTOR                  policy<{'arm64': 'y', 'armhf': '
 CONFIG_HIGHPTE                                  policy<{'armhf': 'y'}>
 CONFIG_CMDLINE_BOOL                             policy<{'amd64': 'n', 'ppc64el': 'n'}>
 CONFIG_HIGHMEM                                  policy<{'armhf': 'y'}>
-CONFIG_FORCE_MAX_ZONEORDER                      policy<{'arm64': '13', 'armhf-generic': '12', 'armhf-generic-lpae': '11', 'ppc64el': '9', 's390x': '9'}>
+CONFIG_FORCE_MAX_ZONEORDER                      policy<{'arm64-generic': '13', 'arm64-generic-64k': '14', 'armhf-generic': '12', 'armhf-generic-lpae': '11', 'ppc64el': '9', 's390x': '9'}>
 CONFIG_COMPAT_VDSO                              policy<{'amd64': 'n'}>
 #
 CONFIG_RELOCATABLE                              flag<REVIEW>
@@ -12961,9 +12961,9 @@ CONFIG_VMSPLIT_1G                               policy<{'armhf': 'n'}>
 # Menu: Processor type and features >> Memory split >> Architecture: x86
 
 # Menu: Processor type and features >> Page size >> Architecture: arm64
-CONFIG_ARM64_4K_PAGES                           policy<{'arm64': 'y'}>
+CONFIG_ARM64_4K_PAGES                           policy<{'arm64-generic': 'y', 'arm64-generic-64k': 'n'}>
 CONFIG_ARM64_16K_PAGES                          policy<{'arm64': 'n'}>
-CONFIG_ARM64_64K_PAGES                          policy<{'arm64': 'n'}>
+CONFIG_ARM64_64K_PAGES                          policy<{'arm64-generic': 'n', 'arm64-generic-64k': 'y'}>
 
 # Menu: Processor type and features >> Page size >> Architecture: powerpc
 CONFIG_PPC_4K_PAGES                             policy<{'ppc64el': 'n'}>
@@ -13075,7 +13075,7 @@ CONFIG_TUNE_Z14                                 policy<{'s390x': 'n'}>
 CONFIG_TUNE_Z15                                 policy<{'s390x': 'y'}>
 
 # Menu: Processor type and features >> Virtual address space size >> Architecture: arm64
-CONFIG_ARM64_VA_BITS_39                         policy<{'arm64': 'n'}>
+CONFIG_ARM64_VA_BITS_39                         policy<{'arm64-generic': 'n'}>
 CONFIG_ARM64_VA_BITS_48                         policy<{'arm64': 'y'}>
 #
 CONFIG_ARM64_VA_BITS_48                         mark<ENFORCED> note<Cavium ThunderX 2-socket needs a minimum of 41 bits of VA>
diff --git a/debian.master/config/arm64/config.common.arm64 b/debian.master/config/arm64/config.common.arm64
index c3e0b9a7232f..ed82d7ae2ec1 100644
--- a/debian.master/config/arm64/config.common.arm64
+++ b/debian.master/config/arm64/config.common.arm64
@@ -21,11 +21,8 @@ CONFIG_APPLICOM=m
 # CONFIG_ARCH_ALPINE is not set
 # CONFIG_ARCH_EXYNOS is not set
 CONFIG_ARCH_MMAP_RND_BITS=18
-CONFIG_ARCH_MMAP_RND_BITS_MAX=33
-CONFIG_ARCH_MMAP_RND_BITS_MIN=18
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
 CONFIG_ARCH_MXC=y
 CONFIG_ARCH_SUNXI=y
 # CONFIG_ARCH_TEGRA is not set
@@ -167,7 +164,6 @@ CONFIG_FEALNX=m
 CONFIG_FIREWIRE=m
 CONFIG_FIREWIRE_NOSY=m
 CONFIG_FIXED_PHY=y
-CONFIG_FORCE_MAX_ZONEORDER=13
 CONFIG_FPGA_BRIDGE=m
 CONFIG_FPGA_DFL=m
 CONFIG_FRAME_WARN=1024
@@ -472,7 +468,6 @@ CONFIG_PCI_PASID=y
 CONFIG_PCI_PRI=y
 CONFIG_PCI_QUIRKS=y
 # CONFIG_PCMCIA is not set
-CONFIG_PGTABLE_LEVELS=4
 CONFIG_PHANTOM=m
 CONFIG_PHONET=m
 CONFIG_PHYLIB=y
diff --git a/debian.master/config/arm64/config.flavour.generic b/debian.master/config/arm64/config.flavour.generic
index bb7773a235d2..22fbe1b310ab 100644
--- a/debian.master/config/arm64/config.flavour.generic
+++ b/debian.master/config/arm64/config.flavour.generic
@@ -1,3 +1,12 @@
 #
 # Config options for config.flavour.generic automatically generated by splitconfig.pl
 #
+CONFIG_ARCH_MMAP_RND_BITS_MAX=33
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
+CONFIG_ARM64_4K_PAGES=y
+# CONFIG_ARM64_64K_PAGES is not set
+CONFIG_ARM64_CONT_SHIFT=4
+CONFIG_ARM64_PAGE_SHIFT=12
+CONFIG_FORCE_MAX_ZONEORDER=13
+CONFIG_PGTABLE_LEVELS=4
diff --git a/debian.master/config/arm64/config.flavour.generic-64k b/debian.master/config/arm64/config.flavour.generic-64k
new file mode 100644
index 000000000000..689b0359a790
--- /dev/null
+++ b/debian.master/config/arm64/config.flavour.generic-64k
@@ -0,0 +1,12 @@
+#
+# Config options for config.flavour.generic-64k automatically generated by splitconfig.pl
+#
+CONFIG_ARCH_MMAP_RND_BITS_MAX=29
+CONFIG_ARCH_MMAP_RND_BITS_MIN=14
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=7
+# CONFIG_ARM64_4K_PAGES is not set
+CONFIG_ARM64_64K_PAGES=y
+CONFIG_ARM64_CONT_SHIFT=5
+CONFIG_ARM64_PAGE_SHIFT=16
+CONFIG_FORCE_MAX_ZONEORDER=14
+CONFIG_PGTABLE_LEVELS=3
diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu
index d2715906349a..a6f6e6cef775 100644
--- a/debian.master/config/config.common.ubuntu
+++ b/debian.master/config/config.common.ubuntu
@@ -586,14 +586,11 @@ CONFIG_ARC_EMAC_CORE=m
 CONFIG_ARM=y
 CONFIG_ARM64=y
 # CONFIG_ARM64_16K_PAGES is not set
-CONFIG_ARM64_4K_PAGES=y
-# CONFIG_ARM64_64K_PAGES is not set
 CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y
 CONFIG_ARM64_AMU_EXTN=y
 CONFIG_ARM64_BTI=y
 CONFIG_ARM64_BTI_KERNEL=y
 CONFIG_ARM64_CNP=y
-CONFIG_ARM64_CONT_SHIFT=4
 CONFIG_ARM64_CRYPTO=y
 # CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set
 CONFIG_ARM64_E0PD=y
@@ -617,10 +614,10 @@ CONFIG_ARM64_ERRATUM_858921=y
 CONFIG_ARM64_HW_AFDBM=y
 CONFIG_ARM64_LSE_ATOMICS=y
 CONFIG_ARM64_MODULE_PLTS=y
-CONFIG_ARM64_PAGE_SHIFT=12
 CONFIG_ARM64_PAN=y
 CONFIG_ARM64_PA_BITS=48
 CONFIG_ARM64_PA_BITS_48=y
+# CONFIG_ARM64_PA_BITS_52 is not set
 CONFIG_ARM64_PMEM=y
 CONFIG_ARM64_PSEUDO_NMI=y
 CONFIG_ARM64_PTR_AUTH=y
@@ -634,7 +631,9 @@ CONFIG_ARM64_UAO=y
 CONFIG_ARM64_USE_LSE_ATOMICS=y
 CONFIG_ARM64_VA_BITS=48
 # CONFIG_ARM64_VA_BITS_39 is not set
+# CONFIG_ARM64_VA_BITS_42 is not set
 CONFIG_ARM64_VA_BITS_48=y
+# CONFIG_ARM64_VA_BITS_52 is not set
 CONFIG_ARM64_VHE=y
 CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
 CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
diff --git a/debian.master/control.d/vars.generic-64k b/debian.master/control.d/vars.generic-64k
new file mode 100644
index 000000000000..91eb2863d942
--- /dev/null
+++ b/debian.master/control.d/vars.generic-64k
@@ -0,0 +1,6 @@
+arch="arm64"
+supported="Generic 64K pages"
+target="Geared toward desktop and server systems."
+desc="=HUMAN= SMP"
+bootloader="flash-kernel [arm64]"
+provides="kvm-api-4, redhat-cluster-modules, ivtv-modules"
diff --git a/debian.master/d-i/kernel-versions b/debian.master/d-i/kernel-versions
index 6cd90edd0258..d0a73152e03a 100644
--- a/debian.master/d-i/kernel-versions
+++ b/debian.master/d-i/kernel-versions
@@ -7,6 +7,7 @@ armhf	-		generic		-				-	-
 armhf	-		generic-lpae	-				-	-
 
 arm64	-		generic		-				-	-
+arm64	-		generic-64k		-				-	-
 
 ppc64el	-		generic		-				-	-
 
diff --git a/debian.master/etc/getabis b/debian.master/etc/getabis
index 3346da2bc0b1..19e1aa8da3a4 100644
--- a/debian.master/etc/getabis
+++ b/debian.master/etc/getabis
@@ -13,6 +13,6 @@ package_prefixes linux-buildinfo
 getall armhf generic
 getall armhf generic-lpae
 getall amd64 generic lowlatency
-getall arm64 generic
+getall arm64 generic generic-64k
 getall ppc64el generic
 getall s390x generic
diff --git a/debian.master/rules.d/arm64.mk b/debian.master/rules.d/arm64.mk
index 368c2a86e2bf..263a5901ed2c 100644
--- a/debian.master/rules.d/arm64.mk
+++ b/debian.master/rules.d/arm64.mk
@@ -2,9 +2,11 @@ human_arch	= ARMv8
 build_arch	= arm64
 header_arch	= arm64
 defconfig	= defconfig
-flavours	= generic
+flavours	= generic generic-64k
 build_image_generic	= Image.gz
 kernel_file_generic	= arch/$(build_arch)/boot/Image.gz
+build_image_generic-64k	= Image.gz
+kernel_file_generic-64k	= arch/$(build_arch)/boot/Image.gz
 install_file	= vmlinuz
 no_dumpfile = true
 uefi_signed     = true
-- 
2.25.1




More information about the kernel-team mailing list