0
ответов

Периодическая задача в модуле ядра Linux

В настоящее время я разрабатываю модуль ядра GPIO для friendlyarm Linux 2.6.32.2 (mini2440 ). Я из электроники и новичок в Linux. Модуль ядра, загружаемый при запуске, и связанное с ним устройство ...
вопрос задан: 3 September 2017 17:14
0
ответов

Как исправить: фатальная ошибка: openssl / opensslv.h: такого файла или каталога в RedHat 7 нет

У меня RedHat Enterprise Linux Server 7, и я скачал версию ядра Linux 4.12.10, которую я пытаюсь скомпилировать, но когда я выполняю следующую команду: make modules, я получаю следующее ...
вопрос задан: 1 September 2017 22:33
0
ответов

Понимание loff_t *offp для файловых_операций

Я разрабатываю драйвер устройства, который просто читает и записывает в символьный буфер. Однако мой вопрос касается двух функций чтения и записи в структуре file_operations. На самом деле я не...
вопрос задан: 29 August 2017 16:51
0
ответов

Разница между LIST_HEAD_INIT и INIT_LIST_HEAD

Я пытаюсь понять API связанных списков ядра Linux. Согласно связанному списку ядра Linux, я должен инициализировать заголовок списка с помощью INIT_LIST_HEAD, но здесь (программа ядра Linux)предлагается...
вопрос задан: 22 August 2017 12:54
0
ответов

Какова функция «(void) (& _min1 == & _min2)» в макросе min в kernel.h?

В kernel.h определено min как: #define min (x, y) ({\ typeof (x) _min1 = (x); \ typeof (y) _min2 = (y); \ (void) (& _min1 == & _min2); \ ...
вопрос задан: 21 August 2017 14:16
0
ответов

Если потоки используют один и тот же PID, как их можно идентифицировать?

I есть запрос, связанный с реализацией потоков в Linux. В Linux нет явной поддержки потоков. В пользовательском пространстве мы могли бы использовать библиотеку потоков (например, NPTL) для создания потоков. Теперь, если ...
вопрос задан: 21 August 2017 12:26
0
ответов

Пример proc_create () для модуля ядра

Может ли кто-нибудь дать мне пример proc_create ()? Раньше они использовали create_proc_entry () в ядре, но теперь они используют proc_create ().
вопрос задан: 19 August 2017 22:58
0
ответов

Что такое «Буферы» и «Кэширование» из команды free

Этот вопрос задавался ранее, но я не хочу снова обновлять тот же поток, так как он был старым. Хочу уточнить по столбцам «буферы» и «кеш» из вывода команды free. Это...
вопрос задан: 17 August 2017 13:10
0
ответов

Драйвер устройства ядра Linux для DMA с устройства в память пользовательского пространства

Я хочу получить данные из аппаратного устройства PCIe с поддержкой DMA в пространство пользователя как можно быстрее. Q: Как мне объединить «прямой ввод-вывод в пользовательское пространство с / и / через передачу DMA» Чтение через LDD3, ...
вопрос задан: 11 August 2017 16:02
0
ответов

How to create a device node from the init_module code of a Linux kernel module?

I am writing a module for the linux kernel and I want to create some device nodes in the init function int init_module(void) { Major = register_chrdev(0, DEVICE_NAME, &fops); // Now I want ...
вопрос задан: 6 August 2017 09:25
0
ответов

Как получить доступ к mmaped /dev/mem без сбоя ядра Linux?

У меня есть простая программа, которая пытается получить доступ к физической памяти в пользовательском пространстве, где ядро ​​хранит первую страницу структуры. На 64-битной машине этот адрес — :виртуальный адрес ядра :...
вопрос задан: 29 July 2017 09:42
0
ответов

Как создать простой атрибут класса sysfs в ядре Linux v3.2

Я учусь использовать sysfs в своих модулях Linux, но мне тяжело найти текущую документацию по этим темам. Книга «Драйверы устройств для Linux 3-е издание», которую я использую, кажется ...
вопрос задан: 28 July 2017 19:01
0
ответов

Как перенести буфер ядра Linux в пользовательское пространство?

Допустим, буфер выделяется с использованием схемы на основе страниц. Одним из способов реализации mmap было бы использование remap_pfn_range, но LDD3 говорит, что это не работает для обычной памяти. Похоже, мы можем работать...
вопрос задан: 23 July 2017 19:13
0
ответов

«Текущий» в коде ядра Linux

Проходя по фрагменту кода драйвера char для Linux, я нашел текущий указатель структуры в printk. Я хочу знать, на какую структуру указывает ток и его полные элементы. ...
вопрос задан: 20 July 2017 07:25
0
ответов

Как получить физический адрес из логическая единица в модуле ядра Linux?

Есть ли какой-либо подходящий способ получить физический адрес по логическому адресу, кроме ручного просмотра записей каталога страниц? Я искал эту функциональность в исходных кодах ядра и обнаружил, что ...
вопрос задан: 16 July 2017 13:04
0
ответов

Почему в драйверах устройств Linux в дополнение к init нужен метод проверки?

В ядре Linux, что проверяет ( ) метод, который предоставляет драйвер, делать? Насколько она отличается от функции init драйвера, т.е. почему действия функций probe () не могут выполняться в ...
вопрос задан: 24 June 2017 18:56
0
ответов

Что означает вопросительные знаки? в ядре ядра Linux следы паники?

Трассировка вызовов содержит такие записи: [< deadbeef >] FunctionName + 0xAB / 0xCD [имя_модуля] [< f00fface >]? AnotherFunctionName + 0x12 / 0x40 [имя_модуля] [< deaffeed >] ...
вопрос задан: 24 June 2017 02:41
0
ответов

Как опционально использовать экспортированные символы, только если они присутствуют в модифицированном модуле ядра Linux?

Я модифицирую ядро ​​Linux, чтобы добавить некоторые функции виртуальному серверу Linux (LVS ). Я разработал модуль (, который я назвал net/netfilter/ipvs/ip _vs _utils.c )с некоторыми функциями, которые будут использоваться, когда...
вопрос задан: 18 June 2017 11:02
0
ответов

Как применить исправления к пакету в Buildroot?

Я работаю над встроенной системой, которая использует buildr oot как инструмент для сборки ядра и корневой файловой системы. Я хочу применить некоторые исправления к этому дереву исходного кода ядра. Может кто-нибудь сказать мне, как ...
вопрос задан: 2 June 2017 08:03
0
ответов

Обработка прерываний в Linux в пространстве пользователя

Каковы варианты обработки прерываний устройств в коде пользовательского пространства в Linux, а не в пространстве ядра?
вопрос задан: 30 May 2017 15:34
0
ответов

как перенести приложения c / c ++ на устаревшие версии ядра Linux

Хорошо, это совсем немного забавное упражнение, но это не может быть слишком сложно компилировать программы для некоторых старых систем Linux, или может? У меня есть доступ к паре древних систем, на каждой из которых работает linux и ...
вопрос задан: 23 May 2017 12:33
0
ответов

Включает ли RCHAR READ_BYTES (proc//io) ?

Я прочитал proc//io, чтобы измерить IO-активность SQL-запросов, где — это PID сервера базы данных. Я читаю значения до и после каждого запроса, чтобы вычислить разницу и...
вопрос задан: 23 May 2017 12:31
0
ответов

Как использовать find_module?

Как использовать find_module ядра Linux () функция? В документации говорится, "должен содержать module_mutex". Делает это означает, что я должен получить блокировку в своем коде модуля перед поиском указателя на...
вопрос задан: 23 May 2017 12:30
0
ответов

Адресное пространство 32-битного процесса на 64-битном linux

В этом ответе автор заявляет: С 64-битным ядром x86_64 32-битный процесс может использовать все адресное пространство 4GB, за исключением пары страниц (8KB) в конце адресного пространства 4GB, которые ...
вопрос задан: 23 May 2017 12:11
0
ответов

Как «перезагрузить» исходные файлы в GDB

Есть ли команда в gdb, который я могу использовать для (повторной) загрузки / "обновления" исходных файлов? (Насколько я могу судить, gdb работает только с исходными каталогами, согласно Debugging with GDB: Source - и нет ...
вопрос задан: 23 May 2017 12:10
0
ответов

Почему нельзя «спать» при удержании спин-блокировки? [дубликат]

Возможный дубликат: почему вы не можете заснуть, удерживая спин-блокировку? Насколько мне известно, спин-блокировки следует использовать в короткие сроки, и это только варианты в коде, такие как обработчик прерывания, где ...
вопрос задан: 23 May 2017 12:07
0
ответов

Я использую tcp для очень многих небольших посылок, следует ли мне отключить алгоритм Наглса? (Люди также знают это как TCP_NODELAY)

Я переделал этот пост, потому что мой выбор заголовка был ужасен, извините за это. Мое новое сообщение можно найти здесь: После отправки большого количества сообщений мой вызов send () приводит к полной остановке моей программы. Как это ...
вопрос задан: 23 May 2017 12:04
0
ответов

Как получить имя файла из дескриптора файла внутри модуля ядра?

Мне нужно получить имя файла из заданного дескриптора файла внутри небольшого модуля ядра linux, который я написал. Я попробовал решение, приведенное в Getting Filename from file descriptor in C, но для некоторых ...
вопрос задан: 23 May 2017 12:00
0
ответов

Защита мьютекса обработчика прерываний ядра Linux?

Нужно ли мне защищать мой обработчик прерываний, вызываемый много раз для того же прерывания? Учитывая следующий код, я не уверен, какие системные вызовы мне следует делать. Я получаю редкие случайные ошибки -...
вопрос задан: 23 May 2017 11:59
0
ответов

События Linux perf: cpu-clock и task-clock - в чем разница

Linux perf tools (некоторое время назад названный perf_events) имеет несколько встроенных универсальных программных событий. Два самых основных из них: task-clock и cpu_clock (внутренне называются PERF_COUNT_SW_CPU_CLOCK и ...
вопрос задан: 23 May 2017 11:54