STRUCT UNIPHIER_CACHE_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct uniphier_cache_data(9) πŸ’–

okay so bestie, this is a page straight outta the Kernel API Manual and it's literally about struct uniphier_cache_data β€” the UniPhier outer cache specific data. yes she's niche, yes she's iconic, let's get into it πŸŽ€


✨ NAME ✨

struct uniphier_cache_data β€” UniPhier outer cache specific data πŸ¦‹


✨ SYNOPSIS ✨

struct uniphier_cache_data {
    void __iomem *ctrl_base;
    void __iomem *rev_base;
    void __iomem *op_base;
    void __iomem *way_ctrl_base;
    u32 way_mask;
    u32 nsets;
    u32 line_size;
    u32 range_op_max_size;
    struct list_head list;
 };

like, look at her. ten fields. all lowercase, all business πŸ’…


✨ Members ✨

okay so here's the member-by-member breakdown, no cap:

  • ctrl_base β€” the virtual base address of the control registers. like, the control room of the whole vibe πŸŽ›οΈ
  • rev_base β€” the virtual base address of the revision registers. this is where she tells you what version of herself she is ✨
  • op_base β€” the virtual base address of the operation registers. the actual do-stuff zone πŸ”₯
  • way_ctrl_base β€” the virtual address of the way control registers for this SoC revision. so she's revision-specific, main character energy only πŸ‘‘
  • way_mask β€” each bit specifies if the way is present. one bit per way, present or not, periodt 🧚
  • nsets β€” number of associativity sets. the math of it all πŸ“
  • line_size β€” line size in bytes. little number, big job πŸ“
  • range_op_max_size β€” the max size that can be handled by a single range operation. that's her limit, respect it 😭
  • list β€” list node to include this level in the whole cache hierarchy. she's in the group chat of cache levels, not just a lone wolf 🫢
ngl bestie, this struct is basically a little ID card for one cache level: where her registers live, what revision she is, which ways are present, how many sets she's got, how big her lines are, how much a single range op can chew, and her node in the big hierarchy list.

✨ SEE ALSO ✨

go read the actual kernel file, it ate: ./arch/arm/mm/cache-uniphier.c, plus __uniphier_cache_sync(9) and __uniphier_cache_maint_common(9) πŸ’œ


and that's the whole page, bestie!! this one lives under ./arch/arm/mm and the version vibe is October 2026 β€” mwah, slay, see you in the next manpage πŸŒˆπŸ’–β­

πŸ“¦ where this page comes from