[PATCH 2/4] soc: apple: rtkit: Implement OSLog buffers properly
Alyssa Rosenzweig
alyssa at rosenzweig.io
Mon Feb 24 10:09:37 PST 2025
> + if (ep == APPLE_RTKIT_EP_OSLOG) {
> + buffer->size = FIELD_GET(APPLE_RTKIT_OSLOG_SIZE, msg);
> + buffer->iova = FIELD_GET(APPLE_RTKIT_OSLOG_IOVA, msg) << 12;
> + } else {
> + buffer->size = FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_SIZE, msg) << 12;
> + buffer->iova = FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_IOVA, msg);
> + }
The shifts are suspiciously asymmetric. Are we really sure this is
correct? My guess is that both size & iova for both oslog & buffer need
to be page-aligned, so all 4 lines should be shifted, and the bit
offsets should be adjusted in turn, and the lower 12-bits in oslog_size
and buffer_iova are reserved. But that's just a guess.
Anyway if this logic is really what we want it deserves a comment
because it looks like a typo.
(Likewise later in the patch)
More information about the linux-arm-kernel
mailing list