linux/arch/powerpc/include/uapi/asm/nvram.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
   2/*
   3 * NVRAM definitions and access functions.
   4 *
   5 * This program is free software; you can redistribute it and/or
   6 * modify it under the terms of the GNU General Public License
   7 * as published by the Free Software Foundation; either version
   8 * 2 of the License, or (at your option) any later version.
   9 */
  10
  11#ifndef _UAPI_ASM_POWERPC_NVRAM_H
  12#define _UAPI_ASM_POWERPC_NVRAM_H
  13
  14/* Signatures for nvram partitions */
  15#define NVRAM_SIG_SP    0x02    /* support processor */
  16#define NVRAM_SIG_OF    0x50    /* open firmware config */
  17#define NVRAM_SIG_FW    0x51    /* general firmware */
  18#define NVRAM_SIG_HW    0x52    /* hardware (VPD) */
  19#define NVRAM_SIG_FLIP  0x5a    /* Apple flip/flop header */
  20#define NVRAM_SIG_APPL  0x5f    /* Apple "system" (???) */
  21#define NVRAM_SIG_SYS   0x70    /* system env vars */
  22#define NVRAM_SIG_CFG   0x71    /* config data */
  23#define NVRAM_SIG_ELOG  0x72    /* error log */
  24#define NVRAM_SIG_VEND  0x7e    /* vendor defined */
  25#define NVRAM_SIG_FREE  0x7f    /* Free space */
  26#define NVRAM_SIG_OS    0xa0    /* OS defined */
  27#define NVRAM_SIG_PANIC 0xa1    /* Apple OSX "panic" */
  28
  29
  30/* PowerMac specific nvram stuffs */
  31
  32enum {
  33        pmac_nvram_OF,          /* Open Firmware partition */
  34        pmac_nvram_XPRAM,       /* MacOS XPRAM partition */
  35        pmac_nvram_NR           /* MacOS Name Registry partition */
  36};
  37
  38
  39/* Some offsets in XPRAM */
  40#define PMAC_XPRAM_MACHINE_LOC  0xe4
  41#define PMAC_XPRAM_SOUND_VOLUME 0x08
  42
  43/* Machine location structure in PowerMac XPRAM */
  44struct pmac_machine_location {
  45        unsigned int    latitude;       /* 2+30 bit Fractional number */
  46        unsigned int    longitude;      /* 2+30 bit Fractional number */
  47        unsigned int    delta;          /* mix of GMT delta and DLS */
  48};
  49
  50/*
  51 * /dev/nvram ioctls
  52 *
  53 * Note that PMAC_NVRAM_GET_OFFSET is still supported, but is
  54 * definitely obsolete. Do not use it if you can avoid it
  55 */
  56
  57#define OBSOLETE_PMAC_NVRAM_GET_OFFSET \
  58                                _IOWR('p', 0x40, int)
  59
  60#define IOC_NVRAM_GET_OFFSET    _IOWR('p', 0x42, int)   /* Get NVRAM partition offset */
  61#define IOC_NVRAM_SYNC          _IO('p', 0x43)          /* Sync NVRAM image */
  62
  63#endif /* _UAPI_ASM_POWERPC_NVRAM_H */
  64