2016-07-04 9 views
2

Ich habe PCI Gerätetreiber, wo es PTR_ALIGN verwendet hat, aber seine Verwendung nicht verstehen. So kann mir jemand erklären, warum PTR_ALIGN benutzt oder irgendein Hinweis darauf, dem ich folgen kann.Verwendung von PTR_ALIGN in Linux

Dank Rabi

+0

Ich vermute, dass einige Speicher in gewissem Umfang (Seitenrand?) Ausgerichtet werden müssen, um es als - sagen - Ziel für eine DMA-Operation oder etwas ähnliches zu verwenden. Aber es ist unmöglich, etwas besseres zu geben als diese Art von Vermutungen ohne viel mehr Kontext. Außerdem sollten Sie sich wahrscheinlich nicht mit Kernel-Modus-Code beschäftigen, wenn Sie nicht wissen, welcher ausgerichtete Speicher ist. –

Antwort

3

PTR_ALIGN wird verwendet, um den Zeiger als unsigned long variable auszurichten.

In diesem Fall denke ich, dass es am besten ist, auf die Implementierung in Kernel zu schauen - Siehe http://lxr.free-electrons.com/source/include/linux/kernel.h#L51 zum Beispiel, vergessen Sie nicht, die richtige Kernel-Version zu verwenden.

+0

Es wird verwendet, um ** einen ** Zeiger auszurichten. – 0andriy

+0

Behoben @AndyShevchenko –