Chameleon

Chameleon Svn Source Tree

Root/branches/meklort/i386/libsaio/platform.c

Source at commit 542 created 13 years 6 months ago.
By meklort, Removed some uneccisary if staements. saved a few hundred bytes.
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 "modules.h"
14
15#ifndef DEBUG_PLATFORM
16#define DEBUG_PLATFORM 0
17#endif
18
19#if DEBUG_PLATFORM
20#define DBG(x...)printf(x)
21#else
22#define DBG(x...)
23#endif
24
25PlatformInfo_t* Platform;
26
27/** Return if a CPU feature specified by feature is activated (true) or not (false) */
28inline bool platformCPUFeature(uint32_t feature)
29{
30return (Platform->CPU.Features & feature);
31}
32
33/** scan mem for memory autodection purpose */
34void scan_mem() {
35 static bool done = false;
36 if (done) return;
37
38bool useAutodetection = true;
39 getBoolForKey(kUseMemDetect, &useAutodetection, &bootInfo->bootConfig);
40
41
42 if (useAutodetection) {
43execute_hook("ScanMemory", NULL, NULL, NULL, NULL);
44//getc();
45 }
46 done = true;
47}
48
49/**
50 Scan platform hardware information, called by the main entry point (common_boot() )
51 _before_ bootConfig xml parsing settings are loaded
52*/
53void scan_platform(void)
54{
55Platform = malloc(sizeof(Platform));
56memset(&Platform, 0, sizeof(Platform));
57build_pci_dt();
58scan_cpu(&Platform);
59//scan_mem(); Rek: called after pci devs init in fake_efi now ...
60}
61

Archive Download this file

Revision: 542