search for: apm_relax_segments

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...