search for: apm_relax_seg

Displaying 12 results from an estimated 12 matches for "apm_relax_seg".

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 BIO...
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 BIO...
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_lim...
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_lim...
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...
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...
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 unkn...
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 unkn...
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 unknow...
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 unknow...
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 un...
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 un...