Chameleon

Chameleon Svn Source Tree

Root/branches/meklort/i386/boot2/kernel_patcher.h

Source at commit 154 created 13 years 11 months ago.
By meklort, Added a pacth_lapic_init routine. determines if a patch is required based on cpu model. Todo: make cpuid patch configurable
1/*
2 * Copyright (c) 2009 Evan Lojewski. All rights reserved.
3 *
4 */
5
6#include <mach-o/loader.h>
7#include <mach-o/nlist.h>
8
9#ifndef __BOOT2_KERNEL_PATCHER_H
10#define __BOOT2_KERNEL_PATCHER_H
11
12
13#define CPUID_MODEL_YONAH14
14#define CPUID_MODEL_MEROM15
15#define CPUID_MODEL_PENRYN23
16#define CPUID_MODEL_NEHALEM26
17#define CPUID_MODEL_ATOM28
18#define CPUID_MODEL_FIELDS30/* Lynnfield, Clarksfield, Jasper */
19#define CPUID_MODEL_DALES31/* Havendale, Auburndale */
20#define CPUID_MODEL_NEHALEM_EX46
21
22
23void patch_kernel(void* kernelData);
24
25#define KERNEL_641
26#define KERNEL_322
27
28int locate_symbols(void* kernelData);
29
30void patch_kernel_32(void* kernelData);
31void patch_kernel_64(void* kernelData);
32
33
34
35void patch_cpuid_set_info(void* kernelData, UInt32 impersonateFamily, UInt8 inpersonateModel);
36void patch_pmCPUExitHaltToOff(void* kernelData);
37void patch_lapic_init(void* kernelData);
38
39#endif /* !__BOOT2_KERNEL_PATCHER_H */
40

Archive Download this file

Revision: 154