Source: linux Version: 4.9.30-2+deb9u2.1 Severity: wishlist Tags: patch Attached are the packaging changes needed to make the kernel build for arm64ilp32.
The arm64ilp32 (aarch64-linux-gnu_ilp32) kernel support is not yet merged upstream, so I guess you are not going to include this until it is, but as I've done the work, it's useful to file this patch so you have the necessary info to hand when the time comes. I also have a corresponding patch for the kernel support, but it's large, so I'll just point to it here, for anyone that wants to build this in debian: https://anonscm.debian.org/cgit/users/wookey/rebootstrap.git/commit/?h=ilp32-stable&id=01fe063bff353cba63b2048ff803f41314b888a5 Status for the port (in Debian) is tracked here: https://wiki.debian.org/Arm64ilp32Port
commit e12a78fddd7bdf77768b94645cd8ae0d8e5f2070 Author: Wookey <woo...@wookware.org> Date: Tue Apr 5 05:07:16 2016 +0100 Add debian config for arm64ilp32 diff --git a/debian/config/arm64/config b/debian/config/arm64/config index ddfea30..7bb631b 100644 --- a/debian/config/arm64/config +++ b/debian/config/arm64/config @@ -7,6 +7,7 @@ CONFIG_PCI=y CONFIG_SCHED_MC=y CONFIG_XEN=y CONFIG_COMPAT=y +CONFIG_ARM64_ILP32=y ## ## file: arch/arm64/crypto/Kconfig diff --git a/debian/config/arm64ilp32/config b/debian/config/arm64ilp32/config new file mode 100644 index 0000000..7bb631b --- /dev/null +++ b/debian/config/arm64ilp32/config @@ -0,0 +1,374 @@ +## +## file: arch/arm64/Kconfig +## +CONFIG_PCI=y +#. Until we decide how/whether to handle this in userland as well +# CONFIG_ARM64_ERRATUM_843419 is not set +CONFIG_SCHED_MC=y +CONFIG_XEN=y +CONFIG_COMPAT=y +CONFIG_ARM64_ILP32=y + +## +## file: arch/arm64/crypto/Kconfig +## +CONFIG_ARM64_CRYPTO=y +CONFIG_CRYPTO_SHA1_ARM64_CE=m +CONFIG_CRYPTO_SHA2_ARM64_CE=m +CONFIG_CRYPTO_GHASH_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE_CCM=m +CONFIG_CRYPTO_AES_ARM64_CE_BLK=m +# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set +CONFIG_CRYPTO_CRC32_ARM64=y + +## +## file: arch/arm64/Kconfig.platforms +## +CONFIG_ARCH_HISI=y +CONFIG_ARCH_QCOM=y +CONFIG_ARCH_SEATTLE=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARCH_XGENE=y + +## +## file: drivers/ata/Kconfig +## +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_AHCI_XGENE=m + +## +## file: drivers/char/hw_random/Kconfig +## +CONFIG_HW_RANDOM_MSM=m + +## +## file: drivers/clk/Kconfig +## +CONFIG_COMMON_CLK_XGENE=y + +## +## file: drivers/cpuidle/Kconfig.arm +## +CONFIG_ARM_CPUIDLE=y + +## +## file: drivers/crypto/Kconfig +## +CONFIG_CRYPTO_DEV_QCE=m + +## +## file: drivers/dma/Kconfig +## +CONFIG_DMADEVICES=y +CONFIG_QCOM_BAM_DMA=m + +## +## file: drivers/extcon/Kconfig +## +CONFIG_EXTCON=m + +## +## file: drivers/gpio/Kconfig +## +CONFIG_GPIOLIB=y + +## +## file: drivers/gpu/drm/Kconfig +## +CONFIG_DRM=m + +## +## file: drivers/gpu/drm/i2c/Kconfig +## +CONFIG_DRM_I2C_ADV7511=m + +## +## file: drivers/gpu/drm/msm/Kconfig +## +CONFIG_DRM_MSM=m +CONFIG_DRM_MSM_DSI=y +CONFIG_DRM_MSM_DSI_PLL=y +CONFIG_DRM_MSM_DSI_28NM_PHY=y +CONFIG_DRM_MSM_DSI_20NM_PHY=y + +## +## file: drivers/hwspinlock/Kconfig +## +CONFIG_HWSPINLOCK_QCOM=m + +## +## file: drivers/i2c/busses/Kconfig +## +CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_QUP=m + +## +## file: drivers/input/misc/Kconfig +## +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=m + +## +## file: drivers/mfd/Kconfig +## +CONFIG_MFD_QCOM_RPM=m + +## +## file: drivers/mmc/Kconfig +## +CONFIG_MMC=y + +## +## file: drivers/mmc/host/Kconfig +## +CONFIG_MMC_ARMMMCI=m +CONFIG_MMC_QCOM_DML=m +CONFIG_MMC_SPI=m +CONFIG_MMC_DW=m +CONFIG_MMC_DW_K3=m + +## +## file: drivers/net/ethernet/Kconfig +## +CONFIG_FEALNX=m + +## +## file: drivers/net/ethernet/3com/Kconfig +## +CONFIG_NET_VENDOR_3COM=y +CONFIG_VORTEX=m +CONFIG_TYPHOON=m + +## +## file: drivers/net/ethernet/8390/Kconfig +## +CONFIG_NET_VENDOR_8390=y +CONFIG_NE2K_PCI=m + +## +## file: drivers/net/ethernet/adaptec/Kconfig +## +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_ADAPTEC_STARFIRE=m + +## +## file: drivers/net/ethernet/amd/Kconfig +## +CONFIG_AMD_XGBE=m + +## +## file: drivers/net/ethernet/apm/xgene/Kconfig +## +CONFIG_NET_XGENE=m + +## +## file: drivers/net/ethernet/dec/tulip/Kconfig +## +CONFIG_NET_TULIP=y +CONFIG_DE2104X=m +CONFIG_TULIP=m +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_MMIO is not set +CONFIG_WINBOND_840=m +CONFIG_DM9102=m + +## +## file: drivers/net/ethernet/dlink/Kconfig +## +CONFIG_NET_VENDOR_DLINK=y +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set + +## +## file: drivers/net/ethernet/intel/Kconfig +## +CONFIG_NET_VENDOR_INTEL=y +CONFIG_E100=m + +## +## file: drivers/net/ethernet/natsemi/Kconfig +## +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NATSEMI=m + +## +## file: drivers/net/ethernet/realtek/Kconfig +## +CONFIG_8139CP=m +CONFIG_8139TOO=m +# CONFIG_8139TOO_PIO is not set +CONFIG_8139TOO_TUNE_TWISTER=y +CONFIG_8139TOO_8129=y +# CONFIG_8139_OLD_RX_RESET is not set + +## +## file: drivers/net/ethernet/smsc/Kconfig +## +CONFIG_NET_VENDOR_SMSC=y +CONFIG_SMC91X=m +CONFIG_EPIC100=m +CONFIG_SMSC911X=m + +## +## file: drivers/net/ethernet/stmicro/stmmac/Kconfig +## +CONFIG_STMMAC_ETH=m +CONFIG_STMMAC_PLATFORM=m +CONFIG_DWMAC_GENERIC=m +CONFIG_DWMAC_IPQ806X=m + +## +## file: drivers/net/fddi/Kconfig +## +CONFIG_FDDI=y +CONFIG_SKFP=m + +## +## file: drivers/net/wireless/ath/wcn36xx/Kconfig +## +CONFIG_WCN36XX=m + +## +## file: drivers/pci/host/Kconfig +## +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_XGENE=y + +## +## file: drivers/phy/Kconfig +## +CONFIG_PHY_QCOM_APQ8064_SATA=m +CONFIG_PHY_QCOM_IPQ806X_SATA=m +CONFIG_PHY_XGENE=m + +## +## file: drivers/power/reset/Kconfig +## +CONFIG_POWER_RESET_HISI=y +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_VEXPRESS=y +CONFIG_POWER_RESET_XGENE=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y + +## +## file: drivers/regulator/Kconfig +## +CONFIG_REGULATOR=y +CONFIG_REGULATOR_QCOM_RPM=m +CONFIG_REGULATOR_QCOM_SMD_RPM=m + +## +## file: drivers/reset/Kconfig +## +CONFIG_RESET_CONTROLLER=y + +## +## file: drivers/rtc/Kconfig +## +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_XGENE=y + +## +## file: drivers/scsi/Kconfig +## +CONFIG_SCSI_DMX3191D=m + +## +## file: drivers/soc/qcom/Kconfig +## +CONFIG_QCOM_GSBI=m +CONFIG_QCOM_SMEM=m +CONFIG_QCOM_SMD=m +CONFIG_QCOM_SMD_RPM=m + +## +## file: drivers/spi/Kconfig +## +CONFIG_SPI_QUP=m + +## +## file: drivers/thermal/Kconfig +## +CONFIG_HISI_THERMAL=m + +## +## file: drivers/tty/serial/Kconfig +## +CONFIG_SERIAL_AMBA_PL010=y +CONFIG_SERIAL_AMBA_PL010_CONSOLE=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y + +## +## file: drivers/tty/serial/8250/Kconfig +## +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_NR_UARTS=4 +CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +# CONFIG_SERIAL_8250_EXTENDED is not set +CONFIG_SERIAL_8250_DW=y +# CONFIG_SERIAL_8250_EM is not set + +## +## file: drivers/usb/gadget/Kconfig +## +CONFIG_USB_GADGET=m + +## +## file: drivers/usb/host/Kconfig +## +#. xhci-platform apparently does not build as module, so xhci_hcd can't be either +CONFIG_USB_XHCI_HCD=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_OHCI_HCD_PLATFORM=m + +## +## file: drivers/usb/phy/Kconfig +## +CONFIG_USB_MSM_OTG=m +CONFIG_USB_QCOM_8X16_PHY=m + +## +## file: drivers/virtio/Kconfig +## +CONFIG_VIRTIO_MMIO=m + +## +## file: drivers/watchdog/Kconfig +## +CONFIG_QCOM_WDT=m + +## +## file: fs/pstore/Kconfig +## +CONFIG_PSTORE=y + +## +## file: sound/soc/Kconfig +## +CONFIG_SND_SOC=m + +## +## file: sound/soc/qcom/Kconfig +## +CONFIG_SND_SOC_QCOM=m + +## +## file: unknown +## +CONFIG_HWSPINLOCK=m +CONFIG_PINCTRL=y +CONFIG_USB_PHY=y + diff --git a/debian/config/arm64ilp32/defines b/debian/config/arm64ilp32/defines new file mode 100644 index 0000000..6880132 --- /dev/null +++ b/debian/config/arm64ilp32/defines @@ -0,0 +1,17 @@ +[base] +kernel-arch: arm64 +featuresets: + none + +[build] +debug-info: true +image-file: arch/arm64/boot/Image +vdso: true + +[image] +install-stem: vmlinuz + +[arm64_description] +hardware: 64-bit ARMv8 machines + +[arm64_image] diff --git a/debian/config/arm64ilp32/none/defines b/debian/config/arm64ilp32/none/defines new file mode 100644 index 0000000..fdea40c --- /dev/null +++ b/debian/config/arm64ilp32/none/defines @@ -0,0 +1,3 @@ +[base] +flavours: + arm64