]>
git.saurik.com Git - apple/xnu.git/blob - pexpert/pexpert/arm64/boot.h
c665c47214e30b3a37bba32d707b5e82bcd2cf3f
2 * Copyright (c) 2007-2009 Apple Inc. All rights reserved.
3 * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
9 #ifndef _PEXPERT_ARM64_BOOT_H_
10 #define _PEXPERT_ARM64_BOOT_H_
12 #include <kern/kern_types.h>
13 #include <pexpert/arm/consistent_debug.h>
14 #include <pexpert/arm/protos.h>
16 #define BOOT_LINE_LENGTH 256
23 unsigned long v_baseAddr
; /* Base address of video memory */
24 unsigned long v_display
; /* Display Code (if Applicable */
25 unsigned long v_rowBytes
; /* Number of bytes per pixel row */
26 unsigned long v_width
; /* Width */
27 unsigned long v_height
; /* Height */
28 unsigned long v_depth
; /* Pixel Depth and other parameters */
31 #define kBootVideoDepthMask (0xFF)
32 #define kBootVideoDepthDepthShift (0)
33 #define kBootVideoDepthRotateShift (8)
34 #define kBootVideoDepthScaleShift (16)
36 #define kBootFlagsDarkBoot (1 << 0)
38 typedef struct Boot_Video Boot_Video
;
40 /* Boot argument structure - passed into Mach kernel at boot time.
42 #define kBootArgsRevision 1
43 #define kBootArgsRevision2 2 /* added boot_args.bootFlags */
44 #define kBootArgsVersion1 1
45 #define kBootArgsVersion2 2
47 typedef struct boot_args
{
48 uint16_t Revision
; /* Revision of boot_args structure */
49 uint16_t Version
; /* Version of boot_args structure */
50 uint64_t virtBase
; /* Virtual base of memory */
51 uint64_t physBase
; /* Physical base of memory */
52 uint64_t memSize
; /* Size of memory */
53 uint64_t topOfKernelData
; /* Highest physical address used in kernel data area */
54 Boot_Video Video
; /* Video Information */
55 uint32_t machineType
; /* Machine Type */
56 void *deviceTreeP
; /* Base of flattened device tree */
57 uint32_t deviceTreeLength
; /* Length of flattened tree */
58 char CommandLine
[BOOT_LINE_LENGTH
]; /* Passed in command line */
59 uint64_t bootFlags
; /* Additional flags specified by the bootloader */
60 uint64_t memSizeActual
; /* Actual size of memory */
63 #define SOC_DEVICE_TYPE_BUFFER_SIZE 32
65 #define PC_TRACE_BUF_SIZE 1024
68 #define SHMCON_MEM 0x4000
73 #define CDBG_MEM ((sizeof(dbg_registry_t) + PAGE_SIZE - 1) & ~PAGE_MASK)
75 #define PE_EARLY_BOOT_VA (SHMCON_MEM + CDBG_MEM)
77 #endif /* _PEXPERT_ARM64_BOOT_H_ */