naca and paca exports

Anton Blanchard anton at
Sat Aug 31 11:13:25 EST 2002


We had a discussion a while ago about /proc/ppc64/naca and /proc/ppc64/paca.
Im keen to get this finalised before applications start using it.

Which bits of the following have application writers actually asked for?

        u8  eye_catcher[6];             /* Eyecatcher: PPC64 0x00 */
        u16 version;                    /* Version number 0x06 */
        u16 platform;                   /* Platform flags 0x08 */
        u16 processor;                  /* Processor type 0x0A */
        u32 processorCount;             /* # of physical processors 0x0C */
        u64 physicalMemorySize;         /* Size of real memory(B) 0x10 */

        u16 dCacheL1Size;               /* L1 d-cache size 0x18 */
        u16 dCacheL1LineSize;           /* L1 d-cache line size 0x1A */
        u16 dCacheL1LogLineSize;        /* L1 d-cache line size Log2 0x1C */
        u16 dCacheL1LinesPerPage;       /* L1 d-cache lines / page 0x1E */
        u16 dCacheL1Assoc;              /* L1 d-cache associativity 0x20 */

        u16 iCacheL1Size;               /* L1 i-cache size 0x22 */
        u16 iCacheL1LineSize;           /* L1 i-cache line size 0x24 */
        u16 iCacheL1LogLineSize;        /* L1 i-cache line size Log2 0x26 */
        u16 iCacheL1LinesPerPage;       /* L1 i-cache lines / page 0x28 */
        u16 iCacheL1Assoc;              /* L1 i-cache associativity 0x2A */

        u16 cacheL2Size;                /* L2 cache size 0x2C */
        u16 cacheL2Assoc;               /* L2 cache associativity 0x2E */

        u64 tb_orig_stamp;              /* Timebase at boot 0x30 */
        u64 tb_ticks_per_sec;           /* Timebase tics / sec 0x38 */
        u64 tb_to_xs;                   /* Inverse of TB to 2^20 0x40 */
        u64 stamp_xsec;                 /* 0x48 */
        volatile u64 tb_update_count;   /* Timebase atomicity ctr 0x50 */
        u32 tz_minuteswest;             /* Minutes west of Greenwich 0x58 */
        u32 tz_dsttime;                 /* Type of dst correction 0x5C */

        u64 resv1[4];                   /* Reserverd          0x60 - 0x7F */

I can see the need for processor, processorCount, physicalMemorySize
and timebase frequency, although we already have all that information in
/proc/cpuinfo and /proc/meminfo. BTW what does processorCount and
physicalMemorySize mean in light of hotplug?

We can always add things to the structure but we cant remove them once
we have them in. We also need to have something we can share with the
ppc32 guys.


** Sent via the linuxppc64-dev mail list. See

More information about the Linuxppc64-dev mailing list