arch/powerpc/include/asm/pmac_feature.h
Source file repositories/reference/linux-study-clean/arch/powerpc/include/asm/pmac_feature.h
File Facts
- System
- Linux kernel
- Corpus path
arch/powerpc/include/asm/pmac_feature.h- Extension
.h- Size
- 13671 bytes
- Lines
- 418
- Domain
- Architecture Layer
- Bucket
- arch/powerpc
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
asm/macio.hasm/machdep.h
Detected Declarations
struct device_nodestruct macio_chipfunction pmac_call_feature
Annotated Snippet
#ifdef __KERNEL__
#ifndef __ASM_POWERPC_PMAC_FEATURE_H
#define __ASM_POWERPC_PMAC_FEATURE_H
#include <asm/macio.h>
#include <asm/machdep.h>
/*
* Known Mac motherboard models
*
* Please, report any error here to benh@kernel.crashing.org, thanks !
*
* Note that I don't fully maintain this list for Core99 & MacRISC2
* and I'm considering removing all NewWorld entries from it and
* entirely rely on the model string.
*/
/* PowerSurge are the first generation of PCI Pmacs. This include
* all of the Grand-Central based machines. We currently don't
* differentiate most of them.
*/
#define PMAC_TYPE_PSURGE 0x10 /* PowerSurge */
#define PMAC_TYPE_ANS 0x11 /* Apple Network Server */
/* Here is the infamous serie of OHare based machines
*/
#define PMAC_TYPE_COMET 0x20 /* Believed to be PowerBook 2400 */
#define PMAC_TYPE_HOOPER 0x21 /* Believed to be PowerBook 3400 */
#define PMAC_TYPE_KANGA 0x22 /* PowerBook 3500 (first G3) */
#define PMAC_TYPE_ALCHEMY 0x23 /* Alchemy motherboard base */
#define PMAC_TYPE_GAZELLE 0x24 /* Spartacus, some 5xxx/6xxx */
#define PMAC_TYPE_UNKNOWN_OHARE 0x2f /* Unknown, but OHare based */
/* Here are the Heathrow based machines
* FIXME: Differenciate wallstreet,mainstreet,wallstreetII
*/
#define PMAC_TYPE_GOSSAMER 0x30 /* Gossamer motherboard */
#define PMAC_TYPE_SILK 0x31 /* Desktop PowerMac G3 */
#define PMAC_TYPE_WALLSTREET 0x32 /* Wallstreet/Mainstreet PowerBook*/
#define PMAC_TYPE_UNKNOWN_HEATHROW 0x3f /* Unknown but heathrow based */
/* Here are newworld machines based on Paddington (heathrow derivative)
*/
#define PMAC_TYPE_101_PBOOK 0x40 /* 101 PowerBook (aka Lombard) */
#define PMAC_TYPE_ORIG_IMAC 0x41 /* First generation iMac */
#define PMAC_TYPE_YOSEMITE 0x42 /* B&W G3 */
#define PMAC_TYPE_YIKES 0x43 /* Yikes G4 (PCI graphics) */
#define PMAC_TYPE_UNKNOWN_PADDINGTON 0x4f /* Unknown but paddington based */
/* Core99 machines based on UniNorth 1.0 and 1.5
*
* Note: A single entry here may cover several actual models according
* to the device-tree. (Sawtooth is most tower G4s, FW_IMAC is most
* FireWire based iMacs, etc...). Those machines are too similar to be
* distinguished here, when they need to be differencied, use the
* device-tree "model" or "compatible" property.
*/
#define PMAC_TYPE_ORIG_IBOOK 0x40 /* First iBook model (no firewire) */
#define PMAC_TYPE_SAWTOOTH 0x41 /* Desktop G4s */
#define PMAC_TYPE_FW_IMAC 0x42 /* FireWire iMacs (except Pangea based) */
#define PMAC_TYPE_FW_IBOOK 0x43 /* FireWire iBooks (except iBook2) */
#define PMAC_TYPE_CUBE 0x44 /* Cube PowerMac */
#define PMAC_TYPE_QUICKSILVER 0x45 /* QuickSilver G4s */
#define PMAC_TYPE_PISMO 0x46 /* Pismo PowerBook */
#define PMAC_TYPE_TITANIUM 0x47 /* Titanium PowerBook */
#define PMAC_TYPE_TITANIUM2 0x48 /* Titanium II PowerBook (no L3, M6) */
#define PMAC_TYPE_TITANIUM3 0x49 /* Titanium III PowerBook (with L3 & M7) */
#define PMAC_TYPE_TITANIUM4 0x50 /* Titanium IV PowerBook (with L3 & M9) */
#define PMAC_TYPE_EMAC 0x50 /* eMac */
#define PMAC_TYPE_UNKNOWN_CORE99 0x5f
/* MacRisc2 with UniNorth 2.0 */
#define PMAC_TYPE_RACKMAC 0x80 /* XServe */
#define PMAC_TYPE_WINDTUNNEL 0x81
/* MacRISC2 machines based on the Pangea chipset
*/
#define PMAC_TYPE_PANGEA_IMAC 0x100 /* Flower Power iMac */
#define PMAC_TYPE_IBOOK2 0x101 /* iBook2 (polycarbonate) */
#define PMAC_TYPE_FLAT_PANEL_IMAC 0x102 /* Flat panel iMac */
#define PMAC_TYPE_UNKNOWN_PANGEA 0x10f
/* MacRISC2 machines based on the Intrepid chipset
*/
#define PMAC_TYPE_UNKNOWN_INTREPID 0x11f /* Generic */
/* MacRISC4 / G5 machines. We don't have per-machine selection here anymore,
* but rather machine families
*/
#define PMAC_TYPE_POWERMAC_G5 0x150 /* U3 & U3H based */
Annotation
- Immediate include surface: `asm/macio.h`, `asm/machdep.h`.
- Detected declarations: `struct device_node`, `struct macio_chip`, `function pmac_call_feature`.
- Atlas domain: Architecture Layer / arch/powerpc.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.