History log of /src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c |
Revision | | Date | Author | Comments |
1.24 |
| 20-Aug-2022 |
riastradh | x86: Forbid using x86/pte.h directly; use machine/pte.h.
machine/pte.h already used outside sys/arch, so let's make it the primary thing and make sure to use x86/pte.h only as a subroutine.
|
1.23 |
| 19-Dec-2021 |
riastradh | drm: Another pass over i915 and some supporting logic.
This makes a shim around sg_table, which essentially represents two things:
1. an array of pages (roughly corresponding to bus_dma_segment_t[]) 2. an array of DMA addresses stored in a bus_dmamap_t
Both parts are optional; different parts of i915 use sg_tables to pass around one or both of the two parts. This helps to reduce the ifdefs by quite a bit, although it's not always clear which part of an sg_table any particular interface is actually using which is why I was reluctant to do this before.
|
1.22 |
| 19-Dec-2021 |
riastradh | drm: Nix use of uvm pglist. Just use arrays of page pointers.
|
1.21 |
| 19-Dec-2021 |
riastradh | Work over i915_gem_gtt.c enough to make it build.
|
1.20 |
| 19-Dec-2021 |
riastradh | First pass at i915, far from complete.
HEAVILY MODIFIED IN MERGE - maya
|
1.19 |
| 18-Dec-2021 |
riastradh | Merge linux-drm-v5-6-rc3
|
1.18 |
| 25-Apr-2020 |
maxv | Switch to the new PTE naming. The old naming is now unused, remove it.
|
1.17 |
| 14-Feb-2020 |
maya | branches: 1.17.4; Reduce diffs by side-loading some header files like Linux.
From riastradh
|
1.16 |
| 05-Dec-2019 |
maya | branches: 1.16.2; Add what appears to be the fixes to CVE-2019-0154, CVE-2019-0155. This commit requires review, but I'd also like it to be tested by others while it is being reviewed.
CVE-2019-0155: It was discovered that the Intel i915 graphics chipsets allowed userspace to modify page table entries via writes to MMIO from the Blitter Command Streamer and expose kernel memory information. A local attacker could use this to expose sensitive information or possibly elevate privileges.
CVE-2019-0154: It was discovered that the Intel i915 graphics chipsets could cause a system hang when userspace performed a read from GT memory mapped input output (MMIO) when the product is in certain low power states. A local attacker could use this to cause a denial of service.
From upstream commits to linux-4.4.y:
|
1.15 |
| 27-Aug-2018 |
riastradh | branches: 1.15.4; Scale offset by size of unit, gen6_pte_t.
|
1.14 |
| 27-Aug-2018 |
riastradh | Pass the vaddr we mapped to kunmap_px. Thanks, void *.
|
1.13 |
| 27-Aug-2018 |
riastradh | Zero the scratch page.
|
1.12 |
| 27-Aug-2018 |
riastradh | Pass waitok/nowait flags to bus_dma. Use boundary=0.
|
1.11 |
| 27-Aug-2018 |
riastradh | Rework how we map i915 drm gem objects.
The old way made no sense at all. This way might make sense.
|
1.10 |
| 27-Aug-2018 |
riastradh | Some tweaks en route to i915_gem_gtt.
|
1.9 |
| 27-Aug-2018 |
riastradh | Disable rotated and partial object views for now.
|
1.8 |
| 27-Aug-2018 |
riastradh | #ifdef custodial service
|
1.7 |
| 27-Aug-2018 |
riastradh | So that's where the missing ifdef wound up!
|
1.6 |
| 27-Aug-2018 |
riastradh | some more definitions necessary
ifdef out all the i915 gtt virtual memory stuff that errors, unless it looks exactly like the old code and then merge the netbsd ifdefs for it.
we don't want to use their ALIGN(, which has more arguments, use the old alt function. merge in the old intel_acpi.c code. don't duplicate DECLARE_BITMAP
Author: coypu <coypu@sdf.org> Committer: Taylor R Campbell <riastradh@NetBSD.org>
|
1.5 |
| 27-Aug-2018 |
riastradh | merge linux-drm-v4-4-143
|
1.4 |
| 20-May-2015 |
riastradh | branches: 1.4.16; 1.4.18; Fix kassert: npdp may be GEN8_LEGACY_PDPS exactly.
Tripped over by msaitoh, our first Broadwell user, apparently.
|
1.3 |
| 21-Jul-2014 |
riastradh | branches: 1.3.2; 1.3.4; 1.3.6; Avoid bus_space_read/write_8 on i386.
Would be nice if there were a clearer way to detect it than _LP64, and if its absence caused a compile error instead of a link error.
|
1.2 |
| 16-Jul-2014 |
riastradh | Make it build and boot on my test machines.
Screen blanks on boot on the Ivy Bridge system with
DRM error in cpt_serr_int_handler: PCH transcoder A FIFO underrun
But after that everything is OK. Appears to be an upstream problem. To investigate...
I think there's a cache flushing issue somewhere -- there are little display artefacts on my T60.
|
1.1 |
| 23-Jul-2013 |
riastradh | branches: 1.1.1; Initial revision
|
1.1.1.4 |
| 18-Dec-2021 |
riastradh | Import drm from Linux v5.6-rc3 (commit f8788d86ab28f61f7b46eb6be375f8a726783636)
drivers/gpu/drm -> sys/external/bsd/drm2/dist/drm include/drm -> sys/external/bsd/drm2/dist/include/drm include/uapi/drm -> sys/external/bsd/drm2/dist/include/uapi/drm
GPL exclusions in dist/drm:
- amd/amdgpu/amdgpu_atpx_handler.c - arc/ - arm/ - armada/ - aspeed/ - atmel-hlcdc/ - bochs/ - bridge/ - cirrus/ - drm_dp_cec.c - drm_dp_mst_topology_internal.h - drm_edid_load.c - drm_format_helper.c - drm_gem_cma_helper.c - drm_gem_framebuffer_helper.c - drm_gem_shmem_helper.c - drm_gem_ttm_helper.c - drm_gem_vram_helper.c - drm_hdcp.c - drm_lease.c - drm_mipi_dbi.c - drm_simple_kms_helper.c - drm_sysfs.c - drm_trace.h - drm_vram_helper_common.c - drm_writeback.c - etnaviv/ - exynos/ - fsl-dcu/ - gma500/ - hisilicon/ - i2c/tda9950.c - i2c/tda998x_drv.c - i915/gt/selftest_context.c - i915/gt/selftest_engine.c - i915/gt/selftest_engine.h - i915/gt/selftest_engine_cs.c - i915/gt/selftest_engine_pm.c - i915/i915_trace.h - i915/selftests/i915_live_selftests.h - i915/selftests/i915_mock_selftests.h - i915/selftests/i915_perf_selftests.h - i915/selftests/lib_sw_fence.h - imx/ - ingenic/ - lima/ - mcde/ - mediatek/ - meson/ - mgag200/ - msm/ - mxsfb/ - omapdrm/ - panel/ - panfrost/ - pl111/ - radeon/radeon_atpx_handler.c - rcar-du/ - rockchip/ - selftests/drm_cmdline_selftests.h - selftests/drm_modeset_selftests.h - selftests/test-drm_cmdline_parser.c - selftests/test-drm_damage_helper.c - selftests/test-drm_dp_mst_helper.c - selftests/test-drm_format.c - selftests/test-drm_framebuffer.c - selftests/test-drm_modeset_common.c - selftests/test-drm_modeset_common.h - selftests/test-drm_plane_helper.c - selftests/test-drm_rect.c - shmobile/ - sti/ - stm/ - sun4i/ - tegra/ - tilcdc/ - tiny/ - tve200/ - udl/ - v3d/ - vc4/ - virtio/virtgpu_trace.h - virtio/virtgpu_trace_points.c - vkms/ - vmwgfx/device_include/vmware_pack_begin.h - vmwgfx/device_include/vmware_pack_end.h - zte/
Exceptions -- these all appear to be files to which someone added an SPDX license header automatically by a script that is not aware of the default MIT licensing under drivers/gpu/drm:
- ast/ast_dp501.c - ast/ast_dram_tables.h - lib/drm_random.c - lib/drm_random.h - i915/display/intel_acpi.c - i915/selftests/mock_gem_device.h - i915/selftests/i915_mock_selftests.h - i915/selftests/i915_live_selftests.h - r128/ati_pcigart.h - selftests/drm_mm_selftests.h - selftests/test-drm_mm.c - vmwgfx/device_include/vm_basic_types.h
GPL exclusions in dist/include/drm:
- bridge - drm_client.h - drm_fb_cma_helper.h - drm_format_helper.h - drm_gem_cma_helper.h - drm_gem_shmem_helper.h - drm_gem_ttm_helper.h - drm_gem_vram_helper.h - drm_lease.h - drm_mipi_dbi.h - drm_mipi_dsi.h - drm_of.h - drm_simple_kms_helper.h - drm_sysfs.h - drm_writeback.h - gma_drm.h - i2c/tda998x.h - i915_mei_hdcp_interface.h - intel-gtt.h
Exceptions: - drm_agpsupport.h - was in original drm; wrong spdx header auto-added
GPL exclusions in dist/include/uapi/drm:
- armada_drm.h - etnaviv_drm.h - exynos_drm.h - lima_drm.h - omap_drm.h
Exceptions: - i810_drm.h - was in original drm; spdx header is wrong
|
1.1.1.3 |
| 27-Aug-2018 |
riastradh | Import drm from Linux v4.4.143 (commit a8ea6276d00555387deaaa5eaeb380cd5c17bdc9).
drivers/gpu/drm -> sys/external/bsd/drm2/dist/drm include/drm -> sys/external/bsd/drm2/dist/include/drm include/uapi/drm -> sys/external/bsd/drm2/dist/uapi/drm
GPL sources excluded.
|
1.1.1.2 |
| 16-Jul-2014 |
riastradh | Import drm from Linux 3.15 (commitid 1860e379875dfe7271c649058aeddffe5afd9d0d).
drivers/gpu/drm -> sys/external/bsd/drm2/dist/drm include/drm -> sys/external/bsd/drm2/dist/include/drm include/uapi/drm -> sys/external/bsd/drm2/dist/uapi/drm
GPL sources excluded.
|
1.1.1.1 |
| 23-Jul-2013 |
riastradh | branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.8; Import drm sources from Linux v3.8-rc6. (commit id 88b62b915b0b7e25870eb0604ed9a92ba4bfc9f7)
Linux NetBSD drivers/gpu/drm sys/external/bsd/drm2/dist/drm include/drm sys/external/bsd/drm2/dist/include/drm include/uapi/drm sys/external/bsd/drm2/dist/uapi/drm
Files/subtrees excluded because of licence issues, to be either revisited later (particularly nouveau and radeon, which are mostly permissively licensed but a number of whose files have no licence statements), rewritten/ignored, or imported later as kernel modules under external/gpl2 instead:
include/drm/drm_fb_cma_helper.h include/drm/drm_gem_cma_helper.h include/drm/drm_os_linux.h include/drm/drm_pciids.h include/drm/drm_sysfs.h include/drm/drm_usb.h include/drm/exynos_drm.h include/drm/gma_drm.h include/drm/intel-gtt.h drm/cirrus drm/drm_edid_load.c drm/drm_fb_cma_helper.c drm/drm_gem_cma_helper.c drm/drm_sysfs.c drm/drm_trace.h drm/drm_trace_points.c drm/drm_usb.c drm/exynos drm/gma500 drm/i915/i915_trace.h drm/i915/i915_trace_points.c drm/i915/intel_acpi.c drm/mgag200 drm/nouveau drm/radeon drm/shmobile drm/tegra drm/udl uapi/exynos_drm.h
|
1.1.1.1.8.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.1.1.1.8.1 |
| 23-Jul-2013 |
yamt | file i915_gem_gtt.c was added on branch yamt-pagecache on 2014-05-22 11:40:53 +0000
|
1.1.1.1.6.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.1.1.1.4.2 |
| 28-Aug-2013 |
rmind | sync with head
|
1.1.1.1.4.1 |
| 23-Jul-2013 |
rmind | file i915_gem_gtt.c was added on branch rmind-smpnet on 2013-08-28 23:59:33 +0000
|
1.1.1.1.2.2 |
| 23-Jul-2013 |
riastradh | sync with HEAD and actually get the drm2 import
|
1.1.1.1.2.1 |
| 23-Jul-2013 |
riastradh | file i915_gem_gtt.c was added on branch riastradh-drm2 on 2013-07-23 21:28:22 +0000
|
1.3.6.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.3.4.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.3.4.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.3.4.1 |
| 21-Jul-2014 |
tls | file i915_gem_gtt.c was added on branch tls-maxphys on 2014-08-20 00:04:09 +0000
|
1.3.2.1 |
| 22-May-2015 |
snj | Pull up following revision(s) (requested by riastradh in ticket #797): sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c: revision 1.4 Fix kassert: npdp may be GEN8_LEGACY_PDPS exactly. Tripped over by msaitoh, our first Broadwell user, apparently.
|
1.4.18.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.4.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.4.16.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.15.4.1 |
| 12-Dec-2019 |
martin | Pull up following revision(s) (requested by maya in ticket #548):
sys/external/bsd/drm2/dist/drm/i915/intel_display.c: revision 1.28 sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.30 sys/external/bsd/common/include/linux/bitops.h: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/intel_drv.h: revision 1.11 sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h: revision 1.8 sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c: revision 1.16 sys/external/bsd/drm2/dist/drm/i915/i915_gem_execbuffer.c: revision 1.9 sys/external/bsd/drm2/dist/drm/i915/i915_dma.c: revision 1.28 sys/external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c: revision 1.19 sys/external/bsd/drm2/dist/drm/i915/intel_pm.c: revision 1.20 sys/external/bsd/drm2/dist/drm/i915/intel_ringbuffer.c: revision 1.11 sys/external/bsd/drm2/dist/drm/i915/intel_ringbuffer.h: revision 1.7 sys/external/bsd/drm2/dist/drm/i915/i915_reg.h: revision 1.14 sys/external/bsd/drm2/dist/drm/i915/i915_cmd_parser.c: revision 1.20 sys/external/bsd/drm2/dist/drm/i915/i915_gem_context.c: revision 1.10 sys/external/bsd/drm2/dist/drm/i915/i915_drv.c: revision 1.17
Add what appears to be the fixes to CVE-2019-0154, CVE-2019-0155.
This commit requires review, but I'd also like it to be tested by others while it is being reviewed. CVE-2019-0155:
It was discovered that the Intel i915 graphics chipsets allowed userspace to modify page table entries via writes to MMIO from the Blitter Command Streamer and expose kernel memory information. A local attacker could use this to expose sensitive information or possibly elevate privileges.
CVE-2019-0154: It was discovered that the Intel i915 graphics chipsets could cause a system hang when userspace performed a read from GT memory mapped input output (MMIO) when the product is in certain low power states. A local attacker could use this to cause a denial of service. From upstream commits to linux-4.4.y:
|
1.16.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.17.4.1 |
| 25-Apr-2020 |
bouyer | Sync with bouyer-xenpvh-base2 (HEAD)
|