Root/
Source at commit 1492 created 12 years 10 months ago. By blackosx, re-enable copying of SetFile, add line to copy fdisk440 to relevant package script folders. Add correct path to where fdisk440 for script to work. Next problem to sort is find where org.chameleon.Boot.plist is created?? | |
---|---|
1 | /*␊ |
2 | * platform.c␊ |
3 | *␊ |
4 | * AsereBLN: cleanup␊ |
5 | */␊ |
6 | ␊ |
7 | #include "libsaio.h"␊ |
8 | #include "boot.h"␊ |
9 | #include "bootstruct.h"␊ |
10 | #include "pci.h"␊ |
11 | #include "platform.h"␊ |
12 | #include "cpu.h"␊ |
13 | #include "spd.h"␊ |
14 | #include "dram_controllers.h"␊ |
15 | ␊ |
16 | #ifndef DEBUG_PLATFORM␊ |
17 | #define DEBUG_PLATFORM 0␊ |
18 | #endif␊ |
19 | ␊ |
20 | #if DEBUG_PLATFORM␊ |
21 | #define DBG(x...)␉printf(x)␊ |
22 | #else␊ |
23 | #define DBG(x...)␊ |
24 | #endif␊ |
25 | ␊ |
26 | PlatformInfo_t Platform;␊ |
27 | pci_dt_t * dram_controller_dev = NULL;␊ |
28 | ␊ |
29 | /** Return if a CPU feature specified by feature is activated (true) or not (false) */␊ |
30 | bool platformCPUFeature(uint32_t feature)␊ |
31 | {␊ |
32 | ␉if (Platform.CPU.Features & feature) {␊ |
33 | ␉␉return true;␊ |
34 | ␉} else {␊ |
35 | ␉␉return false;␊ |
36 | ␉}␊ |
37 | }␊ |
38 | ␊ |
39 | /** scan mem for memory autodection purpose */␊ |
40 | void scan_mem() {␊ |
41 | static bool done = false;␊ |
42 | if (done) return;␊ |
43 | ␊ |
44 | ␉/* our code only works on Intel chipsets so make sure here */␊ |
45 | ␉if (pci_config_read16(PCIADDR(0, 0x00, 0), 0x00) != 0x8086)␊ |
46 | ␉␉bootInfo->memDetect = false;␊ |
47 | else␊ |
48 | ␉␉bootInfo->memDetect = true;␊ |
49 | ␉/* manually */␊ |
50 | getBoolForKey(kUseMemDetect, &bootInfo->memDetect, &bootInfo->chameleonConfig);␊ |
51 | ␊ |
52 | if (bootInfo->memDetect) {␊ |
53 | ␉␉if (dram_controller_dev != NULL) {␊ |
54 | ␉␉␉scan_dram_controller(dram_controller_dev); // Rek: pci dev ram controller direct and fully informative scan ...␊ |
55 | ␉␉}␊ |
56 | scan_spd(&Platform);␊ |
57 | }␊ |
58 | done = true;␊ |
59 | }␊ |
60 | ␊ |
61 | /** ␊ |
62 | Scan platform hardware information, called by the main entry point (common_boot() ) ␊ |
63 | _before_ bootConfig xml parsing settings are loaded␊ |
64 | */␊ |
65 | void scan_platform(void)␊ |
66 | {␊ |
67 | ␉memset(&Platform, 0, sizeof(Platform));␊ |
68 | ␉build_pci_dt();␊ |
69 | ␉scan_cpu(&Platform);␊ |
70 | ␉//scan_mem(); Rek: called after pci devs init in fake_efi now ...␊ |
71 | }␊ |
72 |