[igt-dev] [PATCH i-g-t 00/30] Add FreeBSD Support
D Scott Phillips
d.scott.phillips at intel.com
Wed Dec 11 00:52:06 UTC 2019
FreeBSD maintains a port of drm and a few drivers: amdgpu, i915,
radeon, vboxvideo, vmwgfx:
https://github.com/FreeBSDDesktop/kms-drm/
Recently I backported some drm & i915 security patches into our
tree and was lacking a way to verify the backports. Here is my
attempt at adding FreeBSD support to igt.
I've tried to order the series so that what I believe will be less
controversial comes nearer the start. I've also tried to err on
the side of too many small patches, so I'm happy to squash things
where that seems more appropriate to people.
The "null" implementations toward the end are probably more like
RFC ideas. I'm willing to take other approaches there if anyone
has a better idea for how to handle large sections of code that
are more linux specific. Cheers,
Scott
D Scott Phillips (30):
Remove unused includes
lib/igt_chipset: Add missing libdrm dependency
lib/igt_core: update longjmp buffers to type sigjmp_buf
Include <sys/wait.h>, <limits.h>, and <signal.h> where appropriate
Use /bin/sh for shell scripts
tools/intel_gpu_top: Use POSIX signal handler type definition
kms_atomic: change `PAGE_SIZE` to `page_size`
lib: remove open-coded card index fetching
igt: replace mmap64() with mmap()
drm-uapi: patch sync_file.h to depend on drm.h
i915/pm_backlight: use POSIX basename
Include linux specific headers only on linux
lib/igt_core: skip oom_adjustments on non-linux platforms
i915/gem: Omit linux-specific madvise, mmap, and sched flags on
non-linux
lib/igt_aux: add null implementation
lib/igt_kmod: add null implementation
lib/igt_perf: add null implementation
runner: Add support for non-linux operating systems
Use ETIMEDOUT in place of ETIME on FreeBSD
ilog2: Use libc provided fls() on FreeBSD
lib: undefine FreeBSD libc's ALIGN macro
lib: Add FreeBSD-specific pthread logic
lib/igt_kms: Add FreeBSD support
lib/ioctl_wrappers: Support FreeBSD in igt_require_gem
lib/intel_os: Implement get_avail_ram and get_total_swap for FreeBSD
lib/igt_device: Implement get_card_index for FreeBSD
lib/igt_debugfs: Implement mount() for FreeBSD
build: Add support for building on non-linux
fixup! igt: replace mmap64() with mmap()
lib/igt_device_scan: add null implementation
benchmarks/gem_syslatency.c | 2 -
benchmarks/ilog2.h | 2 +
benchmarks/meson.build | 7 +-
include/drm-uapi/sync_file.h | 3 +-
lib/drmtest.h | 4 +
lib/i915/gem_mman.c | 2 +-
lib/igt.h | 4 +
lib/igt_aux.h | 7 ++
lib/igt_aux_null.c | 139 +++++++++++++++++++++++++++
lib/igt_core.c | 7 +-
lib/igt_core.h | 4 +-
lib/igt_debugfs.c | 31 +++---
lib/igt_device.c | 22 +++++
lib/igt_device_scan_null.c | 67 +++++++++++++
lib/igt_eld.c | 1 +
lib/igt_kmod.h | 2 +
lib/igt_kmod_null.c | 84 ++++++++++++++++
lib/igt_kms.c | 9 ++
lib/igt_perf.h | 23 +++++
lib/igt_perf_null.c | 45 +++++++++
lib/igt_sysfs.c | 12 ++-
lib/igt_vgem.c | 2 +-
lib/intel_os.c | 16 +++
lib/ioctl_wrappers.c | 6 +-
lib/meson.build | 31 +++++-
lib/sw_sync.c | 1 +
lib/tests/igt_describe.c | 1 +
lib/tests/igt_dynamic_subtests.c | 1 +
lib/tests/igt_exit_handler.c | 1 +
lib/tests/igt_fork.c | 1 +
lib/tests/igt_invalid_subtest_name.c | 1 +
lib/tests/igt_no_exit.c | 1 +
lib/tests/igt_tests_common.h | 1 +
man/rst2man.sh | 2 +-
meson.build | 10 +-
runner/executor.c | 28 +++++-
runner/job_list.c | 3 +
tests/generate_testlist.sh | 6 +-
tests/i915/gem_close_race.c | 2 +
tests/i915/gem_concurrent_all.c | 7 +-
tests/i915/gem_ctx_persistence.c | 2 +-
tests/i915/gem_exec_fence.c | 1 +
tests/i915/gem_exec_latency.c | 5 +-
tests/i915/gem_mmap_gtt.c | 22 ++---
tests/i915/gem_mmap_offset.c | 18 ++--
tests/i915/gem_reloc_overflow.c | 1 -
tests/i915/gem_shrink.c | 5 +-
tests/i915/i915_pm_backlight.c | 1 +
tests/kms_atomic.c | 14 +--
tests/meson.build | 30 ++++--
tests/perf.c | 1 +
tools/aubdump.c | 2 +
tools/intel_gpu_top.c | 2 +-
tools/intel_gvtg_test.c | 1 +
tools/meson.build | 12 ++-
55 files changed, 624 insertions(+), 91 deletions(-)
create mode 100644 lib/igt_aux_null.c
create mode 100644 lib/igt_device_scan_null.c
create mode 100644 lib/igt_kmod_null.c
create mode 100644 lib/igt_perf_null.c
--
2.23.0
More information about the igt-dev
mailing list