search for: apm_init

Displaying 19 results from an estimated 19 matches for "apm_init".

2007 Apr 18
1
[PATCH 14/21] i386 Apm is on cpu zero only
...======================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-07 10:17:45.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-07 13:36:05.000000000 -0800 @@ -2170,8 +2170,8 @@ static struct dmi_system_id __initdata a static int __init apm_init(void) { struct proc_dir_entry *apm_proc; + struct desc_struct *gdt; int ret; - int i; dmi_check_system(apm_dmi_table); @@ -2253,18 +2253,17 @@ static int __init apm_init(void) * not restrict themselves to their claimed limit. When this happens, * they will cause a segmentation vio...
2007 Apr 18
1
[PATCH 14/21] i386 Apm is on cpu zero only
...======================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-07 10:17:45.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-07 13:36:05.000000000 -0800 @@ -2170,8 +2170,8 @@ static struct dmi_system_id __initdata a static int __init apm_init(void) { struct proc_dir_entry *apm_proc; + struct desc_struct *gdt; int ret; - int i; dmi_check_system(apm_dmi_table); @@ -2253,18 +2253,17 @@ static int __init apm_init(void) * not restrict themselves to their claimed limit. When this happens, * they will cause a segmentation vio...
2007 Apr 18
0
[PATCH 2/21] i386 Always relax segments
...then undefine this. - */ -#define APM_RELAX_SEGMENTS - -/* * Define to re-initialize the interrupt 0 timer to 100 Hz after a suspend. * This patched by Chad Miller <cmiller@surfsouth.com>, original code by * David Chen <chen@ctpa04.mit.edu> @@ -2294,9 +2283,20 @@ static int __init apm_init(void) set_base(bad_bios_desc, __va((unsigned long)0x40 << 4)); _set_limit((char *)&bad_bios_desc, 4095 - (0x40 << 4)); + /* + * Set up the long jump entry point to the APM BIOS, which is called + * from inline assembly. + */ apm_bios_entry.offset = apm_info.bios.offset;...
2007 Apr 18
0
[PATCH 2/21] i386 Always relax segments
...then undefine this. - */ -#define APM_RELAX_SEGMENTS - -/* * Define to re-initialize the interrupt 0 timer to 100 Hz after a suspend. * This patched by Chad Miller <cmiller@surfsouth.com>, original code by * David Chen <chen@ctpa04.mit.edu> @@ -2294,9 +2283,20 @@ static int __init apm_init(void) set_base(bad_bios_desc, __va((unsigned long)0x40 << 4)); _set_limit((char *)&bad_bios_desc, 4095 - (0x40 << 4)); + /* + * Set up the long jump entry point to the APM BIOS, which is called + * from inline assembly. + */ apm_bios_entry.offset = apm_info.bios.offset;...
2007 Apr 18
0
[PATCH 3/21] i386 Apm seg in gdt
.../kernel/apm.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-04 15:46:50.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-05 00:28:13.000000000 -0800 @@ -2305,12 +2305,6 @@ static int __init apm_init(void) __va((unsigned long)apm_info.bios.cseg_16 << 4)); set_base(gdt[APM_DS >> 3], __va((unsigned long)apm_info.bios.dseg << 4)); - /* For ASUS motherboard, Award BIOS rev 110 (and others?) */ - _set_limit((char *)&gdt[APM_CS >> 3], 64 * 1024 - 1); - /* F...
2007 Apr 18
0
[PATCH 3/21] i386 Apm seg in gdt
.../kernel/apm.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-04 15:46:50.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-05 00:28:13.000000000 -0800 @@ -2305,12 +2305,6 @@ static int __init apm_init(void) __va((unsigned long)apm_info.bios.cseg_16 << 4)); set_base(gdt[APM_DS >> 3], __va((unsigned long)apm_info.bios.dseg << 4)); - /* For ASUS motherboard, Award BIOS rev 110 (and others?) */ - _set_limit((char *)&gdt[APM_CS >> 3], 64 * 1024 - 1); - /* F...
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
...6/kernel/apm.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-04 17:45:31.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-04 17:55:24.000000000 -0800 @@ -2256,6 +2256,8 @@ static int __init apm_init(void) */ for (i = 0; i < NR_CPUS; i++) { struct desc_struct *gdt = get_cpu_gdt_table(i); + if (!gdt) + continue; set_base(&gdt[APM_CS >> 3], __va((unsigned long)apm_info.bios.cseg << 4)); set_base(&gdt[APM_CS_16 >> 3], Index: linux-2.6.14-zach-wo...
2007 Apr 18
0
[PATCH 13/21] i386 Gdt page isolation
...6/kernel/apm.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-04 17:45:31.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-04 17:55:24.000000000 -0800 @@ -2256,6 +2256,8 @@ static int __init apm_init(void) */ for (i = 0; i < NR_CPUS; i++) { struct desc_struct *gdt = get_cpu_gdt_table(i); + if (!gdt) + continue; set_base(&gdt[APM_CS >> 3], __va((unsigned long)apm_info.bios.cseg << 4)); set_base(&gdt[APM_CS_16 >> 3], Index: linux-2.6.14-zach-wo...
2007 Apr 18
1
[PATCH 2/3] Gdt_accessor
...error = apm_bios_call_simple_asm(func, ebx_in, ecx_in, eax); APM_DO_RESTORE_SEGS; local_irq_restore(flags); - __get_cpu_var(cpu_gdt_table)[0x40 / 8] = save_desc_40; + gdt[0x40 / 8] = save_desc_40; put_cpu(); apm_restore_cpus(cpus); return error; @@ -2295,35 +2298,36 @@ static int __init apm_init(void) apm_bios_entry.segment = APM_CS; for (i = 0; i < NR_CPUS; i++) { - set_base(per_cpu(cpu_gdt_table, i)[APM_CS >> 3], + struct desc_struct *gdt = get_cpu_gdt_table(i); + set_base(gdt[APM_CS >> 3], __va((unsigned long)apm_info.bios.cseg << 4)); - set_base(per_...
2007 Apr 18
1
[PATCH 2/3] Gdt_accessor
...error = apm_bios_call_simple_asm(func, ebx_in, ecx_in, eax); APM_DO_RESTORE_SEGS; local_irq_restore(flags); - __get_cpu_var(cpu_gdt_table)[0x40 / 8] = save_desc_40; + gdt[0x40 / 8] = save_desc_40; put_cpu(); apm_restore_cpus(cpus); return error; @@ -2295,35 +2298,36 @@ static int __init apm_init(void) apm_bios_entry.segment = APM_CS; for (i = 0; i < NR_CPUS; i++) { - set_base(per_cpu(cpu_gdt_table, i)[APM_CS >> 3], + struct desc_struct *gdt = get_cpu_gdt_table(i); + set_base(gdt[APM_CS >> 3], __va((unsigned long)apm_info.bios.cseg << 4)); - set_base(per_...
2007 Apr 19
0
[RFC, PATCH 3/5] Paravirt_ops pure functions.patch
...is set */ - .patch = native_patch, .banner = default_banner, .arch_setup = paravirt_nop, diff -r a6889086a657 arch/i386/kernel/apm.c --- a/arch/i386/kernel/apm.c Thu Apr 19 15:44:49 2007 -0700 +++ b/arch/i386/kernel/apm.c Thu Apr 19 15:59:56 2007 -0700 @@ -2198,7 +2198,7 @@ static int __init apm_init(void) dmi_check_system(apm_dmi_table); - if (apm_info.bios.version == 0 || paravirt_enabled()) { + if (apm_info.bios.version == 0 || paravirt_enabled) { printk(KERN_INFO "apm: BIOS not found.\n"); return -ENODEV; } diff -r a6889086a657 arch/i386/kernel/asm-offsets.c --- a/ar...
2007 Apr 19
0
[RFC, PATCH 3/5] Paravirt_ops pure functions.patch
...is set */ - .patch = native_patch, .banner = default_banner, .arch_setup = paravirt_nop, diff -r a6889086a657 arch/i386/kernel/apm.c --- a/arch/i386/kernel/apm.c Thu Apr 19 15:44:49 2007 -0700 +++ b/arch/i386/kernel/apm.c Thu Apr 19 15:59:56 2007 -0700 @@ -2198,7 +2198,7 @@ static int __init apm_init(void) dmi_check_system(apm_dmi_table); - if (apm_info.bios.version == 0 || paravirt_enabled()) { + if (apm_info.bios.version == 0 || paravirt_enabled) { printk(KERN_INFO "apm: BIOS not found.\n"); return -ENODEV; } diff -r a6889086a657 arch/i386/kernel/asm-offsets.c --- a/ar...
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
...+636,7 @@ static u8 apm_bios_call_simple(u32 func, cpu = get_cpu(); gdt = get_cpu_gdt_table(cpu); save_desc_40 = gdt[0x40 / 8]; - gdt[0x40 / 8] = bad_bios_desc; + gdt[0x40 / 8] = gdt[GDT_ENTRY_BAD_BIOS_CACHE]; local_save_flags(flags); APM_DO_CLI; @@ -2275,15 +2274,6 @@ static int __init apm_init(void) pm_active = 1; /* - * Set up a segment that references the real mode segment 0x40 - * that extends up to the end of page zero (that we have reserved). - * This is for buggy BIOS's that refer to (real mode) segment 0x40 - * even though they are called in protected mode. - */ - s...
2007 Apr 18
2
[PATCH 4/21] i386 Broken bios common
...+636,7 @@ static u8 apm_bios_call_simple(u32 func, cpu = get_cpu(); gdt = get_cpu_gdt_table(cpu); save_desc_40 = gdt[0x40 / 8]; - gdt[0x40 / 8] = bad_bios_desc; + gdt[0x40 / 8] = gdt[GDT_ENTRY_BAD_BIOS_CACHE]; local_save_flags(flags); APM_DO_CLI; @@ -2275,15 +2274,6 @@ static int __init apm_init(void) pm_active = 1; /* - * Set up a segment that references the real mode segment 0x40 - * that extends up to the end of page zero (that we have reserved). - * This is for buggy BIOS's that refer to (real mode) segment 0x40 - * even though they are called in protected mode. - */ - s...
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...kernel/apm.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-04 17:45:02.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-05 00:28:07.000000000 -0800 @@ -2256,11 +2256,11 @@ static int __init apm_init(void) */ for (i = 0; i < NR_CPUS; i++) { struct desc_struct *gdt = get_cpu_gdt_table(i); - set_base(gdt[APM_CS >> 3], + set_base(&gdt[APM_CS >> 3], __va((unsigned long)apm_info.bios.cseg << 4)); - set_base(gdt[APM_CS_16 >> 3], + set_base(&gdt[APM_...
2007 Apr 18
3
[PATCH 12/21] i386 Deprecate descriptor asm
...kernel/apm.c =================================================================== --- linux-2.6.14-zach-work.orig/arch/i386/kernel/apm.c 2005-11-04 17:45:02.000000000 -0800 +++ linux-2.6.14-zach-work/arch/i386/kernel/apm.c 2005-11-05 00:28:07.000000000 -0800 @@ -2256,11 +2256,11 @@ static int __init apm_init(void) */ for (i = 0; i < NR_CPUS; i++) { struct desc_struct *gdt = get_cpu_gdt_table(i); - set_base(gdt[APM_CS >> 3], + set_base(&gdt[APM_CS >> 3], __va((unsigned long)apm_info.bios.cseg << 4)); - set_base(gdt[APM_CS_16 >> 3], + set_base(&gdt[APM_...
2012 Feb 08
28
[PATCH v3 0/6] initial suspend support
This patch series makes suspend support in qemu alot more useful. Right now the guest can put itself into s3, but qemu will wakeup the guest instantly. With this patch series applied the guest will stay suspended instead and there are a few events which can kick the guest out of suspend state: A monitor command, ps/2 input, serial input, rtc. Not much yet, but it''s a start with the
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to