Displaying 12 results from an estimated 12 matches for "apm_relax_segments".
2007 Apr 18
0
[PATCH 2/21] i386 Always relax segments
APM BIOSes have many bugs regarding proper representation of the
appropriate segment limits for calling the BIOS. By default,
APM_RELAX_SEGMENTS is always turned on to support running the APM
BIOS on these buggy machines. Keeping 64k limits poses very little
danger to the kernel, because the pages where the APM BIOS is
located will always be in low physical memory BIOS areas, which
should already be marked reserved, and only buggy BIOSes w...
2007 Apr 18
0
[PATCH 2/21] i386 Always relax segments
APM BIOSes have many bugs regarding proper representation of the
appropriate segment limits for calling the BIOS. By default,
APM_RELAX_SEGMENTS is always turned on to support running the APM
BIOS on these buggy machines. Keeping 64k limits poses very little
danger to the kernel, because the pages where the APM BIOS is
located will always be in low physical memory BIOS areas, which
should already be marked reserved, and only buggy BIOSes w...
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
...));
- set_base(gdt[desc_number(APM_CS_16)],
+ set_base(&gdt[desc_number(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(gdt[desc_number(APM_DS)],
+ set_base(&gdt[desc_number(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&gdt[desc_number(APM_CS)], 64 * 1024 - 1);
+ _set_limit(&gdt[desc_number(APM_CS)], 64 * 1024 - 1);
/* For some unknown machine. */
- _set_limit((c...
2007 Apr 18
0
[PATCH 8/12] base-limit-cleanup
...));
- set_base(gdt[desc_number(APM_CS_16)],
+ set_base(&gdt[desc_number(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(gdt[desc_number(APM_DS)],
+ set_base(&gdt[desc_number(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&gdt[desc_number(APM_CS)], 64 * 1024 - 1);
+ _set_limit(&gdt[desc_number(APM_CS)], 64 * 1024 - 1);
/* For some unknown machine. */
- _set_limit((c...
2007 Apr 18
0
[PATCH 9/14] i386 / Typecheck and optimize base and limit accessors
...et_base(gdt[segment_index(APM_CS_16)],
+ set_base(&gdt[segment_index(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(gdt[segment_index(APM_DS)],
+ set_base(&gdt[segment_index(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&gdt[segment_index(APM_CS)], 64 * 1024 - 1);
+ _set_limit(&gdt[segment_index(APM_CS)], 64 * 1024 - 1);
/* For some unknown machine. */
- _set_limi...
2007 Apr 18
0
[PATCH 9/14] i386 / Typecheck and optimize base and limit accessors
...et_base(gdt[segment_index(APM_CS_16)],
+ set_base(&gdt[segment_index(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(gdt[segment_index(APM_DS)],
+ set_base(&gdt[segment_index(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&gdt[segment_index(APM_CS)], 64 * 1024 - 1);
+ _set_limit(&gdt[segment_index(APM_CS)], 64 * 1024 - 1);
/* For some unknown machine. */
- _set_limi...
2007 Apr 18
0
[PATCH 7/12] gdt-accessor
...t_table, i)[APM_CS_16 >> 3],
+ set_base(gdt[desc_number(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(per_cpu(cpu_gdt_table, i)[APM_DS >> 3],
+ set_base(gdt[desc_number(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 - 1);
+ _set_limit((char *)&gdt[desc_number(APM_CS)], 64 * 1024 - 1);
/* For some unknown m...
2007 Apr 18
0
[PATCH 7/12] gdt-accessor
...t_table, i)[APM_CS_16 >> 3],
+ set_base(gdt[desc_number(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(per_cpu(cpu_gdt_table, i)[APM_DS >> 3],
+ set_base(gdt[desc_number(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 - 1);
+ _set_limit((char *)&gdt[desc_number(APM_CS)], 64 * 1024 - 1);
/* For some unknown m...
2007 Apr 18
1
[PATCH 2/3] Gdt_accessor
...u_gdt_table, i)[APM_CS_16 >> 3],
+ set_base(gdt[APM_CS_16 >> 3],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(per_cpu(cpu_gdt_table, i)[APM_DS >> 3],
+ set_base(gdt[APM_DS >> 3],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 - 1);
+ _set_limit((char *)&gdt[APM_CS >> 3], 64 * 1024 - 1);
/* For some unknown mac...
2007 Apr 18
1
[PATCH 2/3] Gdt_accessor
...u_gdt_table, i)[APM_CS_16 >> 3],
+ set_base(gdt[APM_CS_16 >> 3],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(per_cpu(cpu_gdt_table, i)[APM_DS >> 3],
+ set_base(gdt[APM_DS >> 3],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 - 1);
+ _set_limit((char *)&gdt[APM_CS >> 3], 64 * 1024 - 1);
/* For some unknown mac...
2007 Apr 18
2
[PATCH 8/14] i386 / Add a per cpu gdt accessor
...ble, i)[APM_CS_16 >> 3],
+ set_base(gdt[segment_index(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(per_cpu(cpu_gdt_table, i)[APM_DS >> 3],
+ set_base(gdt[segment_index(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 - 1);
+ _set_limit((char *)&gdt[segment_index(APM_CS)], 64 * 1024 - 1);
/* For some unknown...
2007 Apr 18
2
[PATCH 8/14] i386 / Add a per cpu gdt accessor
...ble, i)[APM_CS_16 >> 3],
+ set_base(gdt[segment_index(APM_CS_16)],
__va((unsigned long)apm_info.bios.cseg_16 << 4));
- set_base(per_cpu(cpu_gdt_table, i)[APM_DS >> 3],
+ set_base(gdt[segment_index(APM_DS)],
__va((unsigned long)apm_info.bios.dseg << 4));
#ifndef APM_RELAX_SEGMENTS
if (apm_info.bios.version == 0x100) {
#endif
/* For ASUS motherboard, Award BIOS rev 110 (and others?) */
- _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 - 1);
+ _set_limit((char *)&gdt[segment_index(APM_CS)], 64 * 1024 - 1);
/* For some unknown...