Könnte ich memcpy verwenden, um kontinuierlich auf den Cache-Speicher zuzugreifen, statt auf __raw_writel für jeden und in linux kernel - linux, kernel, memcpy

Ich habe 100 Byte ununterbrochen Cache-Speicher, um einige Daten während des Warm-Neustarts in meinem eingebetteten Gerät zu sichern.

Verwenden __raw_writel für jede 4 von 100 wäre ein halber Bildschirm Code. Könnte ich memcpy dafür verwenden?

Antworten:

1 für die Antwort № 1

Wie wäre es ein halber Bildschirm von Code? Sie müssen einen wirklich kleinen Bildschirm haben. Wenn der Speicherbereich kontinuierlich ist, können Sie einfach eine Schleife verwenden.

u32 *to_write = ...;
volatile u32 __iomem *cache = ...;
for (int i = 0; i < 25; ++i) {
__raw_writel(to_write[i], cache + i);
}

Ob memcpy mit Ihrem Cache-Speicher arbeitet, hängt von der Architektur und der Implementierung von memcpy für diese Architektur ab.


Am beliebtesten