1dnl Run "m4 genfs_contexts" to test 2dnl # $1 = pci prefix 3dnl # $2 = pci ID start (hex) 4dnl # $3 = virtio ID start (decimal) 5pushdef(`cf_pci_block_device', `dnl 6genfscon sysfs $1/0000:00:eval($2 + 0, 16, 2).0/virtio`'eval($3 + 0)`'/block u:object_r:sysfs_devices_block:s0 # vda 7genfscon sysfs $1/0000:00:eval($2 + 1, 16, 2).0/virtio`'eval($3 + 1)`'/block u:object_r:sysfs_devices_block:s0 # vdb 8genfscon sysfs $1/0000:00:eval($2 + 2, 16, 2).0/virtio`'eval($3 + 2)`'/block u:object_r:sysfs_devices_block:s0 # vdc 9genfscon sysfs $1/0000:00:eval($2 + 3, 16, 2).0/virtio`'eval($3 + 3)`'/ndbus0 u:object_r:sysfs_devices_block:s0 # pmem0 10genfscon sysfs $1/0000:00:eval($2 + 4, 16, 2).0/virtio`'eval($3 + 3)`'/ndbus0 u:object_r:sysfs_devices_block:s0 # pmem1 11dnl')dnl 12dnl 13dnl # $1 = pci prefix 14dnl # $2 = pci ID start (hex) 15pushdef(`cf_pci_gpu_device', `dnl 16genfscon sysfs $1/0000:00:eval($2, 16, 2).0/device u:object_r:sysfs_gpu:s0 17genfscon sysfs $1/0000:00:eval($2, 16, 2).0/subsystem_device u:object_r:sysfs_gpu:s0 18genfscon sysfs $1/0000:00:eval($2, 16, 2).0/subsystem_vendor u:object_r:sysfs_gpu:s0 19genfscon sysfs $1/0000:00:eval($2, 16, 2).0/uevent u:object_r:sysfs_gpu:s0 20genfscon sysfs $1/0000:00:eval($2, 16, 2).0/vendor u:object_r:sysfs_gpu:s0 21dnl')dnl 22dnl 23dnl # $1 = rtc prefix 24dnl # $2 = rtc number (decimal) 25dnl # $3 = rtc wakeup offset (decimal) 26pushdef(`cf_rtc_wakeup_alarmtimer', `dnl 27genfscon sysfs $1/wakeup u:object_r:sysfs_wakeup:s0 28genfscon sysfs $1/rtc/rtc$2/wakeup`'eval($3 + 1)`' u:object_r:sysfs_wakeup:s0 # <= 5.5 29genfscon sysfs $1/rtc/rtc$2/alarmtimer.0.auto/wakeup u:object_r:sysfs_wakeup:s0 # >5.5 30dnl')dnl 31dnl 32# crosvm (x86) 33cf_pci_block_device(/devices/pci0000:00, 0xb, 10) 34cf_pci_gpu_device(/devices/pci0000:00, 0x2) 35## find /sys/devices/platform/* -type d -name 'rtc[0-9]' | sed 's,/rtc[0-9],,' 36genfscon sysfs /devices/platform/rtc_cmos/rtc u:object_r:sysfs_rtc:s0 37## find /sys/devices/platform/* -type d -name 'wakeup[0-9]' 38genfscon sysfs /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/wakeup u:object_r:sysfs_wakeup:s0 39genfscon sysfs /devices/LNXSYSTM:00/LNXPWRBN:00/wakeup u:object_r:sysfs_wakeup:s0 40genfscon sysfs /devices/platform/rtc_cmos/rtc/rtc0/wakeup3 u:object_r:sysfs_wakeup:s0 41cf_rtc_wakeup_alarmtimer(/devices/platform/rtc_cmos, 0, 1) 42## currently disabled 43#genfscon sysfs /devices/LNXSYSTM:00/GFSH0001:00/wakeup u:object_r:sysfs_wakeup:s0 44#genfscon sysfs /devices/platform/GFSH0001:00/power_supply u:object_r:sysfs_batteryinfo:s0 45#genfscon sysfs /devices/platform/GFSH0001:00/power_supply/ac/wakeup3 u:object_r:sysfs_wakeup:s0 46#genfscon sysfs /devices/platform/GFSH0001:00/power_supply/battery/wakeup4 u:object_r:sysfs_wakeup:s0 47genfscon sysfs /devices/virtual/mac80211_hwsim/hwsim0/net u:object_r:sysfs_net:s0 48genfscon sysfs /devices/virtual/mac80211_hwsim/hwsim1/net u:object_r:sysfs_net:s0 49 50# crosvm (arm64) 51cf_pci_block_device(/devices/platform/10000.pci/pci0000:00, 0xb, 10) 52cf_pci_gpu_device(/devices/platform/10000.pci/pci0000:00, 0x2) 53## find /sys/devices/platform/* -type d -name 'rtc[0-9]' | sed 's,/rtc[0-9],,' 54genfscon sysfs /devices/platform/2000.rtc/rtc u:object_r:sysfs_rtc:s0 55## find /sys/devices/platform/* -type d -name 'wakeup[0-9]' 56## arm64 2000.rtc on crosvm does not currently expose a wakeup node 57 58# qemu (x86) 59cf_pci_block_device(/devices/pci0000:00, 0xb, 9) 60#cf_pci_gpu_device(/devices/pci0000:00, 0x2) - duplicated with crosvm(x86) 61## find /sys/devices/platform/* -type d -name 'rtc[0-9]' | sed 's,/rtc[0-9],,' 62genfscon sysfs /devices/pnp0/00:04/rtc u:object_r:sysfs_rtc:s0 63## find /sys/devices/platform/* -type d -name 'wakeup[0-9][0-9]' 64cf_rtc_wakeup_alarmtimer(/devices/pnp0/00:04, 0, 19) 65 66# qemu (arm64) 67cf_pci_block_device(/devices/platform/4010000000.pcie/pci0000:00, 0xa, 9) 68cf_pci_gpu_device(/devices/platform/4010000000.pcie/pci0000:00, 0x1) 69## find /sys/devices/platform/* -type d -name 'rtc[0-9]' | sed 's,/rtc[0-9],,' 70genfscon sysfs /devices/platform/9010000.pl031/rtc u:object_r:sysfs_rtc:s0 71## find /sys/devices/platform/* -type d -name 'wakeup[0-9]' 72cf_rtc_wakeup_alarmtimer(/devices/platform/9010000.pl031, 0, 0) 73 74# qemu (arm) 75cf_pci_block_device(/devices/platform/3f000000.pcie/pci0000:00, 0xa, 9) 76cf_pci_gpu_device(/devices/platform/3f000000.pcie/pci0000:00, 0x1) 77genfscon sysfs /devices/platform/rtc-test.1/wakeup/wakeup2 u:object_r:sysfs_wakeup:s0 78genfscon sysfs /devices/platform/rtc-test.2/wakeup/wakeup3 u:object_r:sysfs_wakeup:s0 79 80# common on all platforms / vm managers 81genfscon sysfs /devices/platform/rtc-test.0/rtc u:object_r:sysfs_rtc:s0 82genfscon sysfs /devices/platform/rtc-test.1/rtc u:object_r:sysfs_rtc:s0 83genfscon sysfs /devices/platform/rtc-test.2/rtc u:object_r:sysfs_rtc:s0 84genfscon sysfs /bus/iio/devices u:object_r:sysfs_iio_devices:s0 85cf_rtc_wakeup_alarmtimer(/devices/platform/rtc-test.1, 2, 0) 86genfscon sysfs /devices/platform/rtc-test.2/wakeup u:object_r:sysfs_wakeup:s0 87dnl 88popdef(`cf_pci_block_device')dnl 89popdef(`cf_pci_gpu_device')dnl 90popdef(`cf_rtc_wakeup_alarmtimer')dnl 91