<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=37636&amp;type=atom" />
	<updated>2015-02-14T20:05:06Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=37636</id>
		<entry>
			<title type="html"><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=445496#p445496" />
			<content type="html"><![CDATA[<p>Патчи для <strong>304.125</strong> необходимые ядру <strong>3.19</strong>:<br /><strong>1)</strong> <span style="color: blue">nv-drm.c.patch</span><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>--- nv-drm.c    2014-12-02 06:55:59.000000000 +0300
+++ nv-drm.c    2014-12-11 22:45:40.189959532 +0300
@@ -18,7 +18,7 @@
 
 #include &lt;drm/drmP.h&gt;
 
-#if defined(NV_DRM_DRM_GEM_H_PRESENT)
+#if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3,18,0)
 #include &lt;drm/drm_gem.h&gt;
 #endif
 
@@ -75,6 +75,10 @@
     .load = nv_drm_load,
     .unload = nv_drm_unload,
     .fops = &amp;nv_drm_fops,
+    
+#if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3,18,0)
+    .set_busid = drm_pci_set_busid,
+#endif    
 
     .name = &quot;nvidia-drm&quot;,
     .desc = &quot;NVIDIA DRM driver&quot;,</code></pre></div></div></div><p><strong>2)</strong> <span style="color: blue">nv.c.patch</span><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>--- a/nv.c    2014-12-02 04:58:34.000000000 +0100
+++ b/nv.c    2014-12-21 17:50:33.420697348 +0100
@@ -2026,7 +2026,7 @@ long nv_kern_unlocked_ioctl(
     unsigned long i_arg
 )
 {
-    return nv_kern_ioctl(file-&gt;f_dentry-&gt;d_inode, file, cmd, i_arg);
+    return nv_kern_ioctl(file-&gt;f_path.dentry-&gt;d_inode, file, cmd, i_arg);
 }
 
 long nv_kern_compat_ioctl(
@@ -2035,7 +2035,7 @@ long nv_kern_compat_ioctl(
     unsigned long i_arg
 )
 {
-    return nv_kern_ioctl(file-&gt;f_dentry-&gt;d_inode, file, cmd, i_arg);
+    return nv_kern_ioctl(file-&gt;f_path.dentry-&gt;d_inode, file, cmd, i_arg);
 }
 
 /*</code></pre></div></div></div><br /><p>Ставить примерно <a href="http://linuxforum.ru/viewtopic.php?pid=435199#p435199">так</a>.<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">verg@localhost:~&gt; inxi -SG<br />System:&nbsp; &nbsp; Host: localhost Kernel: 3.19.0-1.g8a7d5f9-desktop i686 (32 bit) Desktop: KDE 4.14.4<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Distro: openSUSE 13.2 (Harlequin)<br />Graphics:&nbsp; Card: NVIDIA G73 [GeForce 7600 GS]<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Display Server: X.Org 1.17.1 driver: nvidia Resolution: 1920x1080@60.00hz<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;GLX Renderer: GeForce 7600 GS/AGP/SSE2 GLX Version: 2.1.2 NVIDIA 304.125</div></p>]]></content>
			<author>
				<name><![CDATA[verg]]></name>
				<uri>https://linuxforum.ru/profile.php?id=10709</uri>
			</author>
			<updated>2015-02-14T20:05:06Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=445496#p445496</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=445494#p445494" />
			<content type="html"><![CDATA[<p><strong>verg</strong>, 340.76 ставил. Все норм вроде.</p>]]></content>
			<author>
				<name><![CDATA[baralgin]]></name>
				<uri>https://linuxforum.ru/profile.php?id=31498</uri>
			</author>
			<updated>2015-02-14T19:36:43Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=445494#p445494</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=445490#p445490" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>verg пишет:</cite><blockquote><p>304.125 по-любому потребует патча,</p></blockquote></div><p>Только патч от 3.18 не подойдёт.</p>]]></content>
			<author>
				<name><![CDATA[verg]]></name>
				<uri>https://linuxforum.ru/profile.php?id=10709</uri>
			</author>
			<updated>2015-02-14T19:00:58Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=445490#p445490</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=445483#p445483" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>baralgin пишет:</cite><blockquote><p>Как там блоб nvidia, заводится?</p></blockquote></div><p>Какая версия блоба-то?</p><br /><p>з.ы. 304.125 по-любому потребует патча, а новые блобы этого года 346.35 и 340.76 должны ставиться без проблем.</p>]]></content>
			<author>
				<name><![CDATA[verg]]></name>
				<uri>https://linuxforum.ru/profile.php?id=10709</uri>
			</author>
			<updated>2015-02-14T18:19:48Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=445483#p445483</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=445454#p445454" />
			<content type="html"><![CDATA[<p>Linux kernel 2.6.18* and newer&nbsp; ))<br />Обновился, полет нормальный.</p>]]></content>
			<author>
				<name><![CDATA[baralgin]]></name>
				<uri>https://linuxforum.ru/profile.php?id=31498</uri>
			</author>
			<updated>2015-02-14T16:15:27Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=445454#p445454</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=445433#p445433" />
			<content type="html"><![CDATA[<p>Можно зайти на фтп нвидии и посмотреть примечания к последней версии, можно установить ядро 3.19 не удаляя текущее и проверить.</p>]]></content>
			<author>
				<name><![CDATA[1000Mhz]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35132</uri>
			</author>
			<updated>2015-02-14T12:18:48Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=445433#p445433</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=445422#p445422" />
			<content type="html"><![CDATA[<p>Обновился кто нибудь на kernel 3.19? Как там блоб nvidia, заводится?</p>]]></content>
			<author>
				<name><![CDATA[baralgin]]></name>
				<uri>https://linuxforum.ru/profile.php?id=31498</uri>
			</author>
			<updated>2015-02-14T09:40:41Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=445422#p445422</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Релиз ядра Linux 3.19 + патчи для legacy-драйвера NVIDIA 304.125]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=444978#p444978" />
			<content type="html"><![CDATA[<p>После двух месяцев разработки Линус Торвальдс <a href="http://lkml.iu.edu/hypermail/linux/kernel/1502.1/00199.html">анонсировал</a> релиз ядра <a href="https://www.kernel.org/">Linux 3.19</a>. Среди наиболее заметных улучшений: средства защиты от переполнения буфера на основе расширений Intel MPX, проверка целостности и быстрая замена дисков в Btrfs RAID 5/6, сжатие LZ4 в squashfs, возможность привязки BPF-программ к сетевым сокетам, протокол TIPC, системный вызов execveat(), драйвер &quot;ipvlan&quot; для связи контейнеров, драйвер &quot;AMD KFD&quot; для GPGPU-вычислений, поддержка архитектуры Altera Nios II.</p><p>В новую версию принято примерно 11500 исправлений от 1200 разработчиков, размер патча - 38 Мб (изменения затронули 10742 файлов, добавлено 487475 строк кода, удалено 350946 строк). Около 46% всех представленных в 3.19 изменений связаны с драйверами устройств, примерно 19% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 4% - файловыми системами и 4% c внутренними подсистемами ядра.</p><p>Из наиболее интересных <a href="http://kernelnewbies.org/Linux_3.19">новшеств</a> можно отметить:</p><ul><li><p>Дисковая подсистема, ввод/вывод и файловые системы<br /></p><ul><li><p>В Btrfs появилась возможность быстрой замены дисков в RAID 5/6 без предварительного добавления нового диска, переноса данных и вывода из массива старого диска, т.е. теперь при помощи утилиты btrfs-replace можно просто поменять на лету один диск на другой, как это делалось для накопителей, не состоящих в RAID. Для RAID 5/6 также добавлена функция проверки целостности данных (&quot;Scrubbing&quot;, сверка контрольных сумм, сохранённых и вычисленных на основе фактических данных), которая ранее не могла быть применена к RAID разделам Btrfs;</p></li><li><p>Существенно увеличена производительность модуля Device Mapper, обеспечивающего динамическое выделение места в хранилище (thin provisioning) и позволяющего создать несколько виртуальных дисковых разделов, суммарный размер которых превышает физический размер доступных накопителей, а физическое дисковое пространство выделяется по мере необходимости. Производительность возросла в основном благодаря поддержке агрегирования операций с идентичными блоками на стадии перед обращением к основному устройству;</p></li><li><p>В файловой системе Ceph добавлена поддержка inline-размещения данных, что привело к увеличению производительности при работе с мелкими файлами. Также добавлена поддержка верификации сообщений по цифровой подписи для аутентификации обмена данными между клиентами и серверами Ceph;</p></li><li><p>В F2FS, развиваемую компанией Samsung высокопроизводительную файловую систему для Flash-накопителей, добавлена опция &quot;fastboot&quot;, которую можно использовать для сокращения числа проверок во время загрузки;</p></li><li><p>В файловую систему squashfs добавлена поддержка сжатия данных с использованием алгоритма LZ4;</p></li></ul></li><li><p>Виртуализация и безопасность<br /></p><ul><li><p>Поддержка расширений <a href="http://en.wikipedia.org/wiki/Intel_MPX">MPX</a> (Memory Protection Extensions), которые появятся в следующих поколениях микроархитектур процессоров Intel (Skylake и Goldmont) и дадут возможность организовать проверку указателей на соблюдение границ, связанных с ними областей памяти. Для использования данной возможности для каждой ссылки на память процессору необходимо сообщить сведения о допустимых границах области памяти, что требует дополнительной адаптации программного обеспечения, т.е. использование для сборки компилятора и runtime-библиотек, поддерживающих MPX. С практической стороны, MPX позволит выявлять ошибки при работе с памятью и блокировать совершение атак, основанных на переполнении буфера.</p></li><li><p>Добавлен драйвер &quot;ipvlan&quot;, позволяющий создавать виртуальные сетевые устройства для связи между изолированными контейнерами. Драйвер напоминает macvlan, но рассчитан на эффективную работу с сетевыми пространствами имён (network namespaces) и производит мультиплексирование трафика на более высоком уровне сетевого стека;</p></li><li><p>Для архитектуры ARM64 реализован механизм seccomp, <a href="http://www.opennet.ru/opennews/art.shtml?num=33654">используемый</a> для ограничения доступа приложений к системным вызовам;</p></li><li><p>В связи с устранением возможного вектора атаки (CVE-2014-8989) изменена обработка системного вызова setgroups(), при его использовании в пространствах имён для непривилегированных пользователей (user namespaces), что <a href="http://lwn.net/Articles/626665/">может</a> потенциально привести к нарушению нормальной работы некоторых приложений, выполняющих маппинг произвольных идентификаторов групп пользователей.</p></li><li><p>Прекращена поддержка использования системы виртуализации KVM на серверах с архитектурой Itanium (ia64), так как данная возможность не использовалась на практике и оставалась без сопровождения;</p></li><li><p><a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=af8e80731a94ff9de9508b01d9e5d931d538dc6b">Добавлен</a> интерфейс для доступа из пространства пользователя к функциям блочного шифрования <a href="https://ru.wikipedia.org/wiki/AEAD_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC_%D0%B1%D0%BB%D0%BE%D1%87%D0%BD%D0%BE%D0%B3%D0%BE_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F">AEAD</a>;</p></li><li><p>Подсистема virtio значительно <a href="http://lwn.net/Articles/580186/">доработана</a> в плане обеспечения поддержки стандарта virtio 1.0;</p></li></ul></li><li><p>Сетевая подсистема<br /></p><ul><li><p>В клиент и сервер NFS добавлена поддержка опций ALLOCATE и DEALLOCATE, определённых в стандарте NFS 4.2 и позволяющих заранее зарезервировать место в хранилище для файла, до его фактической записи;</p></li><li><p>В сетевой стек добавлена новая подсистема для задействования аппаратных механизмов ускорения коммутации и маршрутизации на поддерживающем данные возможности оборудовании;</p></li><li><p><a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=49ed2617a06abacaccd46fa88ae14c333baa15f0">Добавлен</a> netlink API для сетевого протокола <a href="http://tipc.sourceforge.net/">TIPC</a> (Transparent Inter-process Communication), предназначенного для организации межпроцессного взаимодействия в кластере. Протокол предоставляет средства для быстрого и надёжного взаимодействия приложений, независимо от того, на каких узлах в кластере они выполняются.</p></li><li><p>В подсистеме InfiniBand обеспечена поддержка подкачки по необходимости (on-demand paging), что позволяет создавать и размещать области RDMA через обработчик обращений к невыделенным страницам памяти (page faults), т.е. расходовать память тогда, когда она действительно используется;</p></li></ul></li><li><p>Память и системные сервисы<br /></p><ul><li><p>В системный вызов getsockopt() добавлена новая опция SO_INCOMING_CPU, при помощи которой можно определить CPU, используемый для обработки указанного сокета. Используя данную опцию приложение может распределить связанную с сокетами работу по нескольким процессорам, увеличив общую пропускную способность;</p></li><li><p><a href="http://lwn.net/Articles/625224/">Возможность</a> привязки расширенных BPF-программ к сетевым сокетам. В настоящее время функциональность ограничена сбором статистики, но в будущем ожидается добавление возможностей по установке фильтров;</p></li><li><p>Добавлен системный вызов execveat(), который позволяет запустить исполняемый файл из открытого файлового дескриптора или определить исполняемый файл при передаче файлового дескриптора директории;</p></li><li><p>Из экспериментального staging-дерева в основной состав ядра перемещён механизм межпроцессного взаимодействия Binder, предложенный разработчиками платформы Android;</p></li><li><p><a href="http://lwn.net/Articles/616859/">Поддержка</a> оверлеев <a href="http://devicetree.org/">Device Tree</a>, призванных упростить получение информации о вспомогательном оборудовании на стадии загрузки системы;</p></li><li><p>В подсистему ftrace добавлена возможность использования в фильтрах выражений с логической операцией НЕ (&quot;!&quot;);</p></li><li><p>Добавлен новый внутренний API, позволяющий унифицировать доступ драйверов к параметрам оборудования через ACPI или Вevice Tree, скрывая особенности работы через данные интерфейсы;</p></li><li><p>Продолжена работа над устранением <a href="https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0">проблемы 2038 года</a>, вызванной переполнением 32-разрядного типа time_t. Внутренние функции ядра do_settimeofday(), timekeeping_inject_sleeptime() и mktime() заменены на варианты, в которых используется 64-разрядный тип time64_t или timespec64.</p></li></ul></li><li><p>Аппаратные архитектуры<br /></p><ul><li><p>Поддержка микропроцессорной архитектуры с программным ядром <a href="http://www.altera.com/devices/processor/nios2/ni2-index.html">Altera Nios II</a> (<a href="https://ru.wikipedia.org/wiki/Soft-%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80">soft-процессор</a>), конкурирующей с архитектурой MicroBlaze;</p></li></ul></li><li><p>Оборудование<br /></p><ul><li><p>Добавлен драйвер &quot;<a href="https://github.com/HSAFoundation/HSA-Drivers-Linux-AMD">AMD KFD</a>&quot;, предоставляющий новый интерфейс для использования вычислительных возможностей графических процессоров в приложениях, не связанных с графикой (GPGPU). Взаимодействие с драйвером на пользовательском уровне осуществляется через библиотеку HSA (Heterogenous System Architecture), которая позволяет использовать OpenCL для организации гибридных вычислений и наладить совместную работу CPU, GPU и иных процессоров, в которых подходящее вычислительное устройство выбирается в прозрачном режиме в зависимости от задачи. В HSA CPU и GPU имеют доступ к единым областям памяти, что упрощает организацию работы гибридных приложений;</p></li><li><p>В компоненты прямого рендеринга (DRM) <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=122387a53eeac62e6546fd707259b63feca2d839">добавлена</a> поддержка атомарного переключения видеорежимов, позволяющая разом, в рамках одной атомарной операции, изменить несколько параметров графического режима. Вызов ioctl() для обращения к данной функциональности из пространства пользователя ожидается в ветке ядра 3.20;</p></li><li><p>В DRM-драйвер Nouveau добавлена частичная поддержка видеокарт NVIDIA GeForce 900 (GPU GM204), реализована возможность управления напряжением в Tegra K1;</p></li><li><p>В DRM-драйвере Intel реализована начальная поддержка графической подсистемы процессоров нового поколения, построенных в соответствии с микроархитектурой Skylake. По умолчанию включен режим PPGTT (Per-Process Graphics Translation Tables), который может использоваться для изоляции доступа к GPU в гостевых системах;</p></li><li><p>В DRM-драйвере Radeon улучшены средства управления скоростью вращения кулера для Radeon HD 7000 и более новых GPU;</p></li><li><p>Поддержка GPU, используемых в SoC Freescale i.MX и Rockchip;</p></li><li><p>Поддержка звуковых устройств на чипах Intel Baytrail;</p></li><li><p>Поддержка контроллеров USB 3.0 от компании Broadcom;</p></li><li><p>В Video4Linux добавлены драйверы для видеоустройств DVBSky S950 V3, тюнеров Montage M88RS6000, демодуляторов Panasonic MN88472 и MN88473, и ресиверов для пультов ДУ Amlogic Meson.</p></li><li><p>Поддержка SoC Amlogic Meson8, Allwinner A80, Samsung Exynos4415, Freescale LS1021A, Alphascale ASM9260 и AMD Seattle;</p></li><li><p>Поддержка SCSI-адаптеров Tekram DC390(T), Am53/79C974 и Western Digital WD7193/7197/7296.</p></li></ul></li></ul><p>Источник: <a href="http://www.opennet.ru/opennews/art.shtml?num=41634">http://www.opennet.ru/opennews/art.shtml?num=41634</a></p>]]></content>
			<author>
				<name><![CDATA[Rizado]]></name>
				<uri>https://linuxforum.ru/profile.php?id=23158</uri>
			</author>
			<updated>2015-02-09T11:26:19Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=444978#p444978</id>
		</entry>
</feed>
