Как выровнять адрес буфера в блочном устройстве Linux - PullRequest
0 голосов
/ 08 ноября 2019

Я пишу драйвер блочного устройства для встроенной системы. Я использую пример RAM-диска, на котором основан мой код. Я протестировал драйвер оперативной памяти, но используемый им адрес буфера, похоже, не выровнен. Ниже приведен пример

[25605.754145] rb: Sec: 991, Offset: 0; Buf: 00000000dab33acc; Len: 1 secnum
[25605.759566] rb: Sec: 992, Offset: 0; Buf: 000000009f16b8b1; Len: 8 secnum
[25605.759567] rb: Sec: 992, Offset: 8; Buf: 00000000bf688b1d; Len: 8 secnum
[25605.759568] rb: Sec: 992, Offset: 16; Buf: 000000003f34aef7; Len: 8 secnum
[25605.759569] rb: Sec: 992, Offset: 24; Buf: 000000009b7f0e8b; Len: 8 secnum

Моему оборудованию требуется, чтобы адрес буфера был выровнен до 512 байт. Может кто-нибудь сказать мне, если это возможно, и если да, то как это сделать? Спасибо

...