[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#874536: linux: arm64ilp32 support



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 <wookey@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

Reply to: