modules.bzl 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # SPDX-License-Identifier: GPL-2.0
  2. # Copyright (C) 2022 The Android Open Source Project
  3. """
  4. This module contains a full list of kernel modules
  5. compiled by GKI.
  6. """
  7. _COMMON_GKI_MODULES_LIST = [
  8. # keep sorted
  9. "drivers/block/zram/zram.ko",
  10. "drivers/bluetooth/btbcm.ko",
  11. "drivers/bluetooth/btqca.ko",
  12. "drivers/bluetooth/btsdio.ko",
  13. "drivers/bluetooth/hci_uart.ko",
  14. "drivers/net/can/dev/can-dev.ko",
  15. "drivers/net/can/slcan/slcan.ko",
  16. "drivers/net/can/vcan.ko",
  17. "drivers/net/mii.ko",
  18. "drivers/net/ppp/bsd_comp.ko",
  19. "drivers/net/ppp/ppp_deflate.ko",
  20. "drivers/net/ppp/ppp_generic.ko",
  21. "drivers/net/ppp/ppp_mppe.ko",
  22. "drivers/net/ppp/pppox.ko",
  23. "drivers/net/ppp/pptp.ko",
  24. "drivers/net/slip/slhc.ko",
  25. "drivers/net/usb/aqc111.ko",
  26. "drivers/net/usb/asix.ko",
  27. "drivers/net/usb/ax88179_178a.ko",
  28. "drivers/net/usb/cdc_eem.ko",
  29. "drivers/net/usb/cdc_ether.ko",
  30. "drivers/net/usb/cdc_ncm.ko",
  31. "drivers/net/usb/r8152.ko",
  32. "drivers/net/usb/r8153_ecm.ko",
  33. "drivers/net/usb/rtl8150.ko",
  34. "drivers/net/usb/usbnet.ko",
  35. "drivers/net/wwan/wwan.ko",
  36. "drivers/usb/class/cdc-acm.ko",
  37. "drivers/usb/serial/ftdi_sio.ko",
  38. "drivers/usb/serial/usbserial.ko",
  39. "kernel/kheaders.ko",
  40. "lib/crypto/libarc4.ko",
  41. "mm/zsmalloc.ko",
  42. "net/6lowpan/6lowpan.ko",
  43. "net/6lowpan/nhc_dest.ko",
  44. "net/6lowpan/nhc_fragment.ko",
  45. "net/6lowpan/nhc_hop.ko",
  46. "net/6lowpan/nhc_ipv6.ko",
  47. "net/6lowpan/nhc_mobility.ko",
  48. "net/6lowpan/nhc_routing.ko",
  49. "net/6lowpan/nhc_udp.ko",
  50. "net/8021q/8021q.ko",
  51. "net/bluetooth/bluetooth.ko",
  52. "net/bluetooth/hidp/hidp.ko",
  53. "net/bluetooth/rfcomm/rfcomm.ko",
  54. "net/can/can.ko",
  55. "net/can/can-bcm.ko",
  56. "net/can/can-gw.ko",
  57. "net/can/can-raw.ko",
  58. "net/ieee802154/6lowpan/ieee802154_6lowpan.ko",
  59. "net/ieee802154/ieee802154.ko",
  60. "net/ieee802154/ieee802154_socket.ko",
  61. "net/l2tp/l2tp_core.ko",
  62. "net/l2tp/l2tp_ppp.ko",
  63. "net/mac802154/mac802154.ko",
  64. "net/nfc/nfc.ko",
  65. "net/rfkill/rfkill.ko",
  66. "net/tipc/diag.ko",
  67. "net/tipc/tipc.ko",
  68. ]
  69. # Deprecated - Use `get_gki_modules_list` function instead.
  70. COMMON_GKI_MODULES_LIST = _COMMON_GKI_MODULES_LIST
  71. _ARM_GKI_MODULES_LIST = [
  72. # keep sorted
  73. ]
  74. _ARM64_GKI_MODULES_LIST = [
  75. # keep sorted
  76. "arch/arm64/geniezone/gzvm.ko",
  77. ]
  78. _RISCV64_GKI_MODULES_LIST = [
  79. # keep sorted
  80. ]
  81. _X86_GKI_MODULES_LIST = [
  82. # keep sorted
  83. ]
  84. _X86_64_GKI_MODULES_LIST = [
  85. # keep sorted
  86. ]
  87. # buildifier: disable=unnamed-macro
  88. def get_gki_modules_list(arch = None):
  89. """ Provides the list of GKI modules.
  90. Args:
  91. arch: One of [arm, arm64, i386, x86_64, riscv64].
  92. Returns:
  93. The list of GKI modules for the given |arch|.
  94. """
  95. gki_modules_list = [] + _COMMON_GKI_MODULES_LIST
  96. if arch == "arm":
  97. gki_modules_list += _ARM_GKI_MODULES_LIST
  98. elif arch == "arm64":
  99. gki_modules_list += _ARM64_GKI_MODULES_LIST
  100. elif arch == "i386":
  101. gki_modules_list += _X86_GKI_MODULES_LIST
  102. elif arch == "x86_64":
  103. gki_modules_list += _X86_64_GKI_MODULES_LIST
  104. elif arch == "riscv64":
  105. gki_modules_list += _RISCV64_GKI_MODULES_LIST
  106. else:
  107. fail("{}: arch {} not supported. Use one of [arm, arm64, i386, x86_64, riscv64]".format(
  108. str(native.package_relative_label(":x")).removesuffix(":x"),
  109. arch,
  110. ))
  111. return gki_modules_list