drm - Refactor task_struct and implement mm_struct
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 7 Aug 2019 05:34:17 +0000 (22:34 -0700)
committerFrançois Tigeot <ftigeot@wolfpond.org>
Sat, 24 Aug 2019 12:09:31 +0000 (14:09 +0200)
commit0e32b8c55fb2ed20206f2a71f5f7f8b3a2d1f40a
treee9263c83aab172f3a92be4af3900a3658ccabfc8
parentd78d3a2272f5ecf9e0b570e362128240417a1b85
drm - Refactor task_struct and implement mm_struct

* Change td->td_linux_task from an embedded structure to a pointer.

* Add p->p_linux_mm to support tracking mm_struct's.

* Change the 'current' macro to test td->td_linux_task and call
  a support function, linux_task_alloc(), if it is NULL.

* Implement callbacks from the main kernel for thread exit and
  process exit to support functions that drop the td_linux_task and
  p_linux_mm pointers.

  Initialize and clear these callbacks in the module load/unload
  in drm_drv.c

* Implement required support functions in linux_sched.c
sys/conf/files
sys/dev/drm/drm/Makefile
sys/dev/drm/drm_drv.c
sys/dev/drm/include/asm/current.h
sys/dev/drm/include/linux/mm_types.h
sys/dev/drm/include/linux/sched.h
sys/dev/drm/linux_sched.c [new file with mode: 0644]
sys/kern/kern_exit.c
sys/sys/proc.h
sys/sys/thread.h