Chameleon

Chameleon Commit Details

Date:2011-06-05 21:26:01 (12 years 9 months ago)
Author:Azimutz
Commit:967
Parents: 966
Message:Merge trunk (r966).
Changes:
D/branches/azimutz/trunkAutoResolution/package/fdisk
D/branches/azimutz/trunkGraphicsEnablerModules/package/fdisk
C/trunk/package/fdisk440 → /branches/azimutz/trunkAutoResolution/package/fdisk440
M/branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/cpu.c
M/branches/azimutz/trunkGraphicsEnablerModules/TODO
M/branches/azimutz/trunkAutoResolution/i386/libsaio/smbios.h
M/branches/azimutz/trunkAutoResolution
M/branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/smbios.h
M/branches/azimutz/trunkAutoResolution/i386/libsaio/cpu.c
M/branches/azimutz/trunkAutoResolution/TODO
M/branches/azimutz/trunkGraphicsEnablerModules

File differences

branches/azimutz/trunkAutoResolution/i386/libsaio/cpu.c
156156
157157
158158
159
159
160160
161161
162162
char str[128], *s;
/*
* The brand string 48 bytes (max), guaranteed to
* be NUL terminated.
* be NULL terminated.
*/
do_cpuid(0x80000002, reg);
bcopy((char *)reg, &str[0], 16);
branches/azimutz/trunkAutoResolution/TODO
11
22
3
4
3
54
65
76
......
1413
1514
1615
17
16
17
18
19
20
21
22
23
1824
1925
2026
......
2329
2430
2531
26
32
2733
28
34
2935
3036
3137
3238
3339
34
40
3541
3642
3743
38
3944
4045
4146
......
4752
4853
4954
50
55
5156
5257
5358
......
7883
7984
8085
81
82
83
TODO List for Chameleon Boot Loader
====================================
- Bring code closer to coding_standards.txt:
- will change spaces to tabs! If someone opposes to this, please come forward :)
- Bring code closer to coding_standards.txt.
- Create a dummy module for any modules that are compiled in. This is needed for linking modules with
dependencies that are not compiled in.
conflicting with other efi string overridden content
(original idea of Galaxy)
Azi: done?
- Case insensitive parsing for the bootConfig options:
should help the common/novice user to setup more easily.
====================================
DONE
- Add a more sophisticated acpi loading mechanism to enable loading custom acpi tables when dsdtdrop=y
Here's a specification to think about:
First we must care about if a forced DSDT full path has been specified
find this file.
In the latter case, the file has to be named DSDT.aml and be in one of the / /Extra or bt(0,0)/Extra
directory.
Now a first idea to implement correctly the acpi tables loading would be:
Whether the path was hardcoded in the DSDT option or was automatically found, we extract the path part
of the DSDT file that has been successfully found and we run a loop to enumerate all other acpi
files in the same directory.
Now for each acpi file found, we should compare the name with an existing acpi table found in
the system that we would normally load and replace this usual injection by the content of the file.
Once DropDSDT=y is set, no other acpi table than dsdt is loaded, then it is the responsibility of the
user to provide any other acpi table.
Azi: done?
- Add a new module capable of writing proprietary Chameleon data to ioreg:
Using the DT__xxx() API, we will create a set of functions to write
to log info, chameleon boot info to be retrieved by helper applications...
would be to store the messages in a consolidated buffer then only write once,
this buffer (i.e just before call the kernel) with flushLogToIOREG();
The other public function for writing chameleon boot info data would be:
verbose() should incorporate a call to logMessageToIOREG()
to permit helper applications to extract
this log info (i.e: the chameleon system pref pane)
display_and_log("ERROR",s);
getc();
}
- Case insensitive parsing for the bootConfig options:
should help the common/novice user to setup more easily.
branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/cpu.c
156156
157157
158158
159
159
160160
161161
162162
char str[128], *s;
/*
* The brand string 48 bytes (max), guaranteed to
* be NUL terminated.
* be NULL terminated.
*/
do_cpuid(0x80000002, reg);
bcopy((char *)reg, &str[0], 16);
branches/azimutz/trunkGraphicsEnablerModules/TODO
11
22
3
4
3
54
65
76
......
1413
1514
1615
17
16
17
18
19
20
21
22
23
1824
1925
2026
......
2329
2430
2531
26
32
2733
28
34
2935
3036
3137
3238
3339
34
40
3541
3642
3743
38
3944
4045
4146
......
4752
4853
4954
50
55
5156
5257
5358
......
7883
7984
8085
81
82
83
TODO List for Chameleon Boot Loader
====================================
- Bring code closer to coding_standards.txt:
- will change spaces to tabs! If someone opposes to this, please come forward :)
- Bring code closer to coding_standards.txt.
- Create a dummy module for any modules that are compiled in. This is needed for linking modules with
dependencies that are not compiled in.
conflicting with other efi string overridden content
(original idea of Galaxy)
Azi: done?
- Case insensitive parsing for the bootConfig options:
should help the common/novice user to setup more easily.
====================================
DONE
- Add a more sophisticated acpi loading mechanism to enable loading custom acpi tables when dsdtdrop=y
Here's a specification to think about:
First we must care about if a forced DSDT full path has been specified
find this file.
In the latter case, the file has to be named DSDT.aml and be in one of the / /Extra or bt(0,0)/Extra
directory.
Now a first idea to implement correctly the acpi tables loading would be:
Whether the path was hardcoded in the DSDT option or was automatically found, we extract the path part
of the DSDT file that has been successfully found and we run a loop to enumerate all other acpi
files in the same directory.
Now for each acpi file found, we should compare the name with an existing acpi table found in
the system that we would normally load and replace this usual injection by the content of the file.
Once DropDSDT=y is set, no other acpi table than dsdt is loaded, then it is the responsibility of the
user to provide any other acpi table.
Azi: done?
- Add a new module capable of writing proprietary Chameleon data to ioreg:
Using the DT__xxx() API, we will create a set of functions to write
to log info, chameleon boot info to be retrieved by helper applications...
would be to store the messages in a consolidated buffer then only write once,
this buffer (i.e just before call the kernel) with flushLogToIOREG();
The other public function for writing chameleon boot info data would be:
verbose() should incorporate a call to logMessageToIOREG()
to permit helper applications to extract
this log info (i.e: the chameleon system pref pane)
display_and_log("ERROR",s);
getc();
}
- Case insensitive parsing for the bootConfig options:
should help the common/novice user to setup more easily.

Archive Download the corresponding diff file

Revision: 967