Root/
Source at commit 199 created 13 years 11 months ago. By zef, Synced trunk with mozodojo's changes between r196-r198: Added CPU family check. Fixed memory deallocation error while adding SSDTs into RSDT/XSDT. Fixed improper DSDT parsing algorithm in acpi_find_cpu_names. Improvements in memory detection algo, thank to Azimutz. Using my own algo for CPU type injections (need testing and testers, especially with newer i7, i5, i3 cpus, show me chameleon log). | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2005 Apple Computer, Inc. All Rights Reserved.␊ |
3 | */␊ |
4 | ␊ |
5 | #ifndef __DEVICE_TREE_H␊ |
6 | #define __DEVICE_TREE_H␊ |
7 | ␊ |
8 | #include <stdbool.h>␊ |
9 | #include <stdint.h>␊ |
10 | ␊ |
11 | typedef struct _Property {␊ |
12 | const char * name;␊ |
13 | uint32_t length;␊ |
14 | void * value;␊ |
15 | ␊ |
16 | struct _Property * next;␊ |
17 | } Property;␊ |
18 | ␊ |
19 | typedef struct _Node {␊ |
20 | struct _Property * properties;␊ |
21 | struct _Property * last_prop;␊ |
22 | ␊ |
23 | struct _Node * children;␊ |
24 | ␊ |
25 | struct _Node * next;␊ |
26 | } Node;␊ |
27 | ␊ |
28 | ␊ |
29 | extern Property *␊ |
30 | DT__AddProperty(Node *node, const char *name, uint32_t length, void *value);␊ |
31 | ␊ |
32 | extern Node *␊ |
33 | DT__AddChild(Node *parent, const char *name);␊ |
34 | ␊ |
35 | Node *␊ |
36 | DT__FindNode(const char *path, bool createIfMissing);␊ |
37 | ␊ |
38 | extern void␊ |
39 | DT__FreeProperty(Property *prop);␊ |
40 | ␊ |
41 | extern void␊ |
42 | DT__FreeNode(Node *node);␊ |
43 | ␊ |
44 | extern char *␊ |
45 | DT__GetName(Node *node);␊ |
46 | ␊ |
47 | void␊ |
48 | DT__Initialize(void);␊ |
49 | ␊ |
50 | /*␊ |
51 | * Free up memory used by in-memory representation␊ |
52 | * of device tree.␊ |
53 | */␊ |
54 | extern void␊ |
55 | DT__Finalize(void);␊ |
56 | ␊ |
57 | void␊ |
58 | DT__FlattenDeviceTree(void **result, uint32_t *length);␊ |
59 | ␊ |
60 | ␊ |
61 | #endif /* __DEVICE_TREE_H */␊ |
62 |