Displaying 20 results from an estimated 87 matches for "__user_ds".
2007 Dec 18
2
[PATCH 1/2] remove __init modifier from header declaration
This patch removes the __init modifier from an extern function
declaration in acpi.h.
Besides not being strictly needed, it requires the inclusion of
linux/init.h, which is usually not even included directly, increasing
header mess by a lot.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
---
include/asm-x86/acpi.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
2007 Dec 18
2
[PATCH 1/2] remove __init modifier from header declaration
This patch removes the __init modifier from an extern function
declaration in acpi.h.
Besides not being strictly needed, it requires the inclusion of
linux/init.h, which is usually not even included directly, increasing
header mess by a lot.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
---
include/asm-x86/acpi.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
2007 Dec 18
3
[PATCH] finish processor.h integration
...io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
+ }, \
+ .io_bitmap = { [0 ... IO_BITMAP_LONGS] = ~0 }, \
+}
+
+#define start_thread(regs, new_eip, new_esp) do { \
+ __asm__("movl %0,%%gs": :"r" (0)); \
+ regs->fs = 0; \
+ set_fs(USER_DS); \
+ regs->ds = __USER_DS; \
+ regs->es = __USER_DS; \
+ regs->ss = __USER_DS; \
+ regs->cs = __USER_CS; \
+ regs->ip = new_eip; \
+ regs->sp = new_esp; \
+} while (0)
+
+
+extern unsigned long thread_saved_pc(struct task_struct *tsk);
+
+#define THREAD_SIZE_LONGS (THREAD_SIZE/siz...
2007 Dec 18
3
[PATCH] finish processor.h integration
...io_bitmap_base = INVALID_IO_BITMAP_OFFSET, \
+ }, \
+ .io_bitmap = { [0 ... IO_BITMAP_LONGS] = ~0 }, \
+}
+
+#define start_thread(regs, new_eip, new_esp) do { \
+ __asm__("movl %0,%%gs": :"r" (0)); \
+ regs->fs = 0; \
+ set_fs(USER_DS); \
+ regs->ds = __USER_DS; \
+ regs->es = __USER_DS; \
+ regs->ss = __USER_DS; \
+ regs->cs = __USER_CS; \
+ regs->ip = new_eip; \
+ regs->sp = new_esp; \
+} while (0)
+
+
+extern unsigned long thread_saved_pc(struct task_struct *tsk);
+
+#define THREAD_SIZE_LONGS (THREAD_SIZE/siz...
2007 Apr 18
1
[PATCH 2/2] Transparent privilege levels in entry.S
...ptions. To do so at non-zero CPL requires masking off
the RPL of the selector (which is a nop for the mach-default implementation).
Also, there is no reason to load __KERNEL_DS into %ds or %es. __KERNEL_DS
is actually quite poorly named, and is in fact the kernel stack selector. The
kernel uses __USER_DS internally as both %es and %ds (since it is a flat CPL-3
accessible data segment that allows the kernel to skip reloading segments on
sysexit). The reason for avoiding the __KERNEL_DS macro is it is predefined
as an RPL zero segment.
Diffs against: linux-2.6.13-rc6
Signed-off-by: Zachary Amsden &...
2007 Apr 18
1
[PATCH 2/2] Transparent privilege levels in entry.S
...ptions. To do so at non-zero CPL requires masking off
the RPL of the selector (which is a nop for the mach-default implementation).
Also, there is no reason to load __KERNEL_DS into %ds or %es. __KERNEL_DS
is actually quite poorly named, and is in fact the kernel stack selector. The
kernel uses __USER_DS internally as both %es and %ds (since it is a flat CPL-3
accessible data segment that allows the kernel to skip reloading segments on
sysexit). The reason for avoiding the __KERNEL_DS macro is it is predefined
as an RPL zero segment.
Diffs against: linux-2.6.13-rc6
Signed-off-by: Zachary Amsden &...
2007 Apr 18
0
[PATCH 2/3] Vmi initialize fs for smp
...of GS.
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 2ac108843573 arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c Thu Jan 04 20:01:52 2007 -0800
+++ b/arch/i386/kernel/vmi.c Thu Jan 04 20:02:42 2007 -0800
@@ -533,8 +533,8 @@ vmi_startup_ipi_hook(int phys_apicid, un
ap.ds = __USER_DS;
ap.es = __USER_DS;
- ap.fs = 0;
- ap.gs = __KERNEL_PDA;
+ ap.fs = __KERNEL_PDA;
+ ap.gs = 0;
ap.eflags = 0;
2007 Apr 18
0
[PATCH 2/3] Vmi initialize fs for smp
...of GS.
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 2ac108843573 arch/i386/kernel/vmi.c
--- a/arch/i386/kernel/vmi.c Thu Jan 04 20:01:52 2007 -0800
+++ b/arch/i386/kernel/vmi.c Thu Jan 04 20:02:42 2007 -0800
@@ -533,8 +533,8 @@ vmi_startup_ipi_hook(int phys_apicid, un
ap.ds = __USER_DS;
ap.es = __USER_DS;
- ap.fs = 0;
- ap.gs = __KERNEL_PDA;
+ ap.fs = __KERNEL_PDA;
+ ap.gs = 0;
ap.eflags = 0;
2007 Apr 18
0
[RFC, PATCH 11/24] i386 Vmi segment changes
...are more costly than a
single ALU instruction, and both cost a temporary register. Still,
pushing the raw %cs value in the NMI after sysenter debug trap fixup
code instead of __KERNEL_CS | RPL is just as efficient, since fetching
RPL would require a %cs load anyway.
The switch from __KERNEL_DS to __USER_DS at one point is for
convenience, since they are both equivalent for %ds and %es segments;
__KERNEL_DS, contrary to the name, is only useful for the %ss segment.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.16-rc5/include/asm-i386/ptrace.h
================================...
2007 Apr 18
0
[RFC, PATCH 11/24] i386 Vmi segment changes
...are more costly than a
single ALU instruction, and both cost a temporary register. Still,
pushing the raw %cs value in the NMI after sysenter debug trap fixup
code instead of __KERNEL_CS | RPL is just as efficient, since fetching
RPL would require a %cs load anyway.
The switch from __KERNEL_DS to __USER_DS at one point is for
convenience, since they are both equivalent for %ds and %es segments;
__KERNEL_DS, contrary to the name, is only useful for the %ss segment.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.16-rc5/include/asm-i386/ptrace.h
================================...
2020 May 18
2
[PATCH v3 31/75] x86/head/64: Install boot GDT
..._LOCAL(boot_gdt_base, .quad 0)
> +SYM_DATA_START(boot_gdt)
> + .quad 0
> + .quad 0x00cf9a000000ffff /* __KERNEL32_CS */
> + .quad 0x00af9a000000ffff /* __KERNEL_CS */
> + .quad 0x00cf92000000ffff /* __KERNEL_DS */
> + .quad 0 /* __USER32_CS - unused */
> + .quad 0 /* __USER_DS - unused */
> + .quad 0 /* __USER_CS - unused */
> + .quad 0 /* unused */
> + .quad 0x0080890000000000 /* TSS descriptor */
> + .quad 0x0000000000000000 /* TSS continued */
Any chance you could use macros ala GDT_ENTRY_INIT() for those instead
of the naked values?
--
Rega...
2020 May 18
2
[PATCH v3 31/75] x86/head/64: Install boot GDT
..._LOCAL(boot_gdt_base, .quad 0)
> +SYM_DATA_START(boot_gdt)
> + .quad 0
> + .quad 0x00cf9a000000ffff /* __KERNEL32_CS */
> + .quad 0x00af9a000000ffff /* __KERNEL_CS */
> + .quad 0x00cf92000000ffff /* __KERNEL_DS */
> + .quad 0 /* __USER32_CS - unused */
> + .quad 0 /* __USER_DS - unused */
> + .quad 0 /* __USER_CS - unused */
> + .quad 0 /* unused */
> + .quad 0x0080890000000000 /* TSS descriptor */
> + .quad 0x0000000000000000 /* TSS continued */
Any chance you could use macros ala GDT_ENTRY_INIT() for those instead
of the naked values?
--
Rega...
2007 Apr 18
4
paravirt repo rebased to 2.6.21-rc6-mm1
Seems to work OK for native and Xen. I had to play a bit with the
paravirt-sched-clock patch to deal with the VMI changes. Zach, can you
check that it still works?
Thanks,
J
2007 Apr 18
4
paravirt repo rebased to 2.6.21-rc6-mm1
Seems to work OK for native and Xen. I had to play a bit with the
paravirt-sched-clock patch to deal with the VMI changes. Zach, can you
check that it still works?
Thanks,
J
2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...nsigned long) idt_table;
+
+ ap.ldtr = 0;
+
+ ap.cs = __KERNEL_CS;
+ ap.eip = (unsigned long) start_eip;
+ ap.ss = __KERNEL_DS;
+ ap.esp = (unsigned long) start_esp;
+
+ ap.ds = __USER_DS;
+ ap.es = __USER_DS;
+ ap.fs = 0;
+ ap.gs = 0;
+
+ ap.eflags = 0;
+
+#ifdef CONFIG_X86_PAE
+ /* efer should match BSP efer. */
+ if (cpu_has_nx) {
+ unsi...
2007 Apr 18
2
[RFC, PATCH 9/24] i386 Vmi smp support
...nsigned long) idt_table;
+
+ ap.ldtr = 0;
+
+ ap.cs = __KERNEL_CS;
+ ap.eip = (unsigned long) start_eip;
+ ap.ss = __KERNEL_DS;
+ ap.esp = (unsigned long) start_esp;
+
+ ap.ds = __USER_DS;
+ ap.es = __USER_DS;
+ ap.fs = 0;
+ ap.gs = 0;
+
+ ap.eflags = 0;
+
+#ifdef CONFIG_X86_PAE
+ /* efer should match BSP efer. */
+ if (cpu_has_nx) {
+ unsi...
2007 Apr 18
5
[patch 0/5] i386-gdt-pda i386 gdt and pda updates
Hi Andrew,
This patch series adds to the end of the existing i386-gdt-cleanups patches:
allow-per-cpu-variables-to-be-page-aligned.patch
i386-gdt-cleanups-use-per-cpu-variables-for-gdt-pda.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot-fix.patch
i386-gdt-cleanups-clean-up-cpu_init.patch
2007 Apr 18
5
[patch 0/5] i386-gdt-pda i386 gdt and pda updates
Hi Andrew,
This patch series adds to the end of the existing i386-gdt-cleanups patches:
allow-per-cpu-variables-to-be-page-aligned.patch
i386-gdt-cleanups-use-per-cpu-variables-for-gdt-pda.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot.patch
i386-gdt-cleanups-use-per-cpu-gdt-immediately-upon-boot-fix.patch
i386-gdt-cleanups-clean-up-cpu_init.patch
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all,
Sorry this took so long, spent last week in Japan at OSDL conf then
netconf. After several false starts, I ended up with a very simple
implementation, which clashes significantly with your work since then
8(. I've pushed the patches anyway, but it's going to be significant
work for me to re-merge them, so I wanted your feedback first.
The first patch simply changes
2007 Apr 18
3
Per-cpu patches on top of PDA stuff...
Hi Jeremy, all,
Sorry this took so long, spent last week in Japan at OSDL conf then
netconf. After several false starts, I ended up with a very simple
implementation, which clashes significantly with your work since then
8(. I've pushed the patches anyway, but it's going to be significant
work for me to re-merge them, so I wanted your feedback first.
The first patch simply changes