<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Linux core driver with ioctl</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html</link>
    <description>Добрый день! Имеется такой пример драйвера http://tldp.org/LDP/lkmpg/2.6/html/x892.html&lt;br&gt;Задача-реализовать драи&amp;#774;вер, поддерживающии&amp;#774; функции открытия, закрытия, записи, чтения и имеющии&amp;#774; документацию. При записи в драи&amp;#774;вер могут передаваться команды. Для этого нужно проводить общии&amp;#774; анализ передаваемых в него строк, чтобы определять какие команды передаются. Одна из них direction &#091;forward/back&#093; &amp;#8211; направление дальнеи&amp;#774;шего чтения из драи&amp;#774;вера. Например последовательность команд с драи&amp;#774;вером&lt;br&gt;echo &amp;#8220;direction back&amp;#8221; &amp;gt; /dev/chardev cp /dev/chardev text&lt;br&gt;приведе&amp;#776;т к чтению строки или буфера драи&amp;#774;вера в обратном порядке, если драи&amp;#774;вер поддерживает работу со строками. То же для фаи&amp;#774;лов.&lt;br&gt;&lt;br&gt;Драйвер поддерживает чтение и запись фаи&amp;#774;ла в него через пользовательскии&amp;#774; процесс: ioctl_write_file(file_desc, file_write_desc). Поддерживает функцию удаления сообщения: ioctl_file_delete.&lt;br&gt;&lt;br&gt;Помогите, пожалуйста, всё это проделать. Ваша цена м</description>

<item>
    <title>Linux core driver with ioctl (pavlinux)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#17</link>
    <pubDate>Sun, 29 Dec 2013 17:53:38 GMT</pubDate>
    <description>Где же Машка Гагарина?! :)&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (pavlinux)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#16</link>
    <pubDate>Sat, 28 Dec 2013 12:16:37 GMT</pubDate>
    <description>&amp;gt; И вообще, как говорит Торвальдс: болтовня ничего не стоит, покажите мне код. &lt;br&gt;&lt;br&gt;Делать мне больше нефиг.&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (skb7)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#15</link>
    <pubDate>Sat, 28 Dec 2013 12:02:58 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Я сделал &lt;br&gt;&amp;gt; Угу, зоопарк из kmalloc_оф&lt;br&gt;&lt;br&gt;Т.е. лучше на стеке всё хранить? Но ведь стек в ядре 4KB. Или вы про devm_*() функции?&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; и блокировок.&lt;br&gt;&lt;br&gt;Т.е. лучше чтобы были race conditions при работе с драйвером из разных потоков? Или городить свой велосипед со счетчиком ссылок, как в примере, который приводился в самом начале? К тому же, если не нравятся блокировки, -- они сделаны отдельным коммитом и никто не мешает его заревертить.&lt;br&gt;&lt;br&gt;И вообще, как говорит Торвальдс: болтовня ничего не стоит, покажите мне код.&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (pavlinux)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#14</link>
    <pubDate>Sat, 28 Dec 2013 03:14:11 GMT</pubDate>
    <description>&amp;gt; Я сделал&lt;br&gt;&lt;br&gt;Угу, зоопарк из kmalloc_оф и блокировок. &lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (skb7)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#13</link>
    <pubDate>Fri, 27 Dec 2013 23:48:48 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Без паники :) Тут на 1 вечер работы максимум, вы справитесь.&lt;br&gt;&amp;gt; :popcorn: &lt;br&gt;&lt;br&gt;Можете выкидывать попкорн, никогда не узнаем. Я сделал: http://www.opennet.ru/openforum/vsluhforumID9/9800.html#12&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (skb7)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#12</link>
    <pubDate>Fri, 27 Dec 2013 01:38:27 GMT</pubDate>
    <description>Раз уж я сделал, выложу тут, может кому пригодится в плане обучения:&lt;br&gt;https://gitorious.org/kernel-study/ioctl&lt;br&gt;&lt;br&gt;Считайте, что это подарок на НГ :) Хотя вам оно наверное не поможет: с одной стороны, препод не поверит, что это вы написали и завалит вопросами по коду. С другой стороны он легко нагуглит по коду, и увидит, что это не вы сделали. Оба варианта -- это &quot;двойка&quot;. Так что максимум чем оно вам поможет -- это разобраться как оно работает и написать с нуля своё.&lt;br&gt;&lt;br&gt;Ну и стоит заметить, что весь код, кроме парсинга команды, можно скопипастить из тех источников что я приводил или из любого готового char драйвера, который использует ioctl. Так что на курсач никак не тянет, парсинг одной команды -- это максимум лаба.&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (skb7)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#11</link>
    <pubDate>Thu, 26 Dec 2013 02:36:24 GMT</pubDate>
    <description>Правда, парсинг команд я уже писал когда-то: http://review.omapzoom.org/#/c/32958/&lt;br&gt;(и там же использование мьютексов можно глянуть).&lt;br&gt;&lt;br&gt;Код символьного устройства переписал отсюда по сути: http://www.linuxforu.com/2011/04/character-device-files-creation-operations&lt;br&gt;&lt;br&gt;Код ioctl с userspace тулзовиной подсмотрел тут: http://www.linuxforu.com/2011/08/io-control-in-linux&lt;br&gt;&lt;br&gt;Так что да, если никогда такого не делал, то выходит работы вечера на 3.&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (skb7)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#10</link>
    <pubDate>Thu, 26 Dec 2013 02:27:09 GMT</pubDate>
    <description>&amp;gt;&amp;gt; Без паники :) Тут на 1 вечер работы максимум, вы справитесь.&lt;br&gt;&amp;gt; :popcorn: &lt;br&gt;&lt;br&gt;Поскольку никогда раньше с ioctl не работал, стало интересно самому разобраться. Сделал набегами по 5 минут за 3 вечера, в сумме за вечер, при чем весь код писал с нуля. Если копипастить готовые куски -- сделал бы примерно за час. Осталось только мьютексы прикрутить и потестить многопоточность. Ничего сложного не обнаружил, на курсач явно не тянет. Если интересно -- могу продемонстрировать код, как допилю мьютексы.&lt;br&gt;</description>
</item>

<item>
    <title>Linux core driver with ioctl (pavlinux)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/9800.html#9</link>
    <pubDate>Tue, 24 Dec 2013 09:52:30 GMT</pubDate>
    <description>&amp;gt; Без паники :) Тут на 1 вечер работы максимум, вы справитесь. &lt;br&gt;&lt;br&gt;:popcorn:&lt;br&gt;</description>
</item>

</channel>
</rss>
