nvram.h (2077B)
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 */