Lines Matching +full:0 +full:xfffff
37 ((((base) & 0xff000000ULL) << (56-24)) | \
38 (((flags) & 0x0000f0ffULL) << 40) | \
39 (((limit) & 0x000f0000ULL) << (48-16)) | \
40 (((base) & 0x00ffffffULL) << 16) | \
41 (((limit) & 0x0000ffffULL)))
83 asm volatile("movl %0, %%ds" : : "r" (segment * X86_GDT_ENTRY_SIZE)); in load_ds()
88 asm volatile("movl %0, %%es" : : "r" (segment * X86_GDT_ENTRY_SIZE)); in load_es()
93 asm volatile("movl %0, %%fs" : : "r" (segment * X86_GDT_ENTRY_SIZE)); in load_fs()
98 asm volatile("movl %0, %%gs" : : "r" (segment * X86_GDT_ENTRY_SIZE)); in load_gs()
103 asm volatile("movl %0, %%ss" : : "r" (segment * X86_GDT_ENTRY_SIZE)); in load_ss()
113 asm volatile("lgdtl %0\n" : : "m" (gdt)); in load_gdt()
123 * CS: code, read/execute, 4 GB, base 0 in arch_setup_gd()
127 gdt_addr[X86_GDT_ENTRY_UNUSED] = GDT_ENTRY(0xc09b, 0, 0xfffff); in arch_setup_gd()
128 gdt_addr[X86_GDT_ENTRY_32BIT_CS] = GDT_ENTRY(0xc09b, 0, 0xfffff); in arch_setup_gd()
130 /* DS: data, read/write, 4 GB, base 0 */ in arch_setup_gd()
131 gdt_addr[X86_GDT_ENTRY_32BIT_DS] = GDT_ENTRY(0xc093, 0, 0xfffff); in arch_setup_gd()
135 gdt_addr[X86_GDT_ENTRY_32BIT_FS] = GDT_ENTRY(0xc093, in arch_setup_gd()
136 (ulong)&new_gd->arch.gd_addr, 0xfffff); in arch_setup_gd()
138 /* 16-bit CS: code, read/execute, 64 kB, base 0 */ in arch_setup_gd()
139 gdt_addr[X86_GDT_ENTRY_16BIT_CS] = GDT_ENTRY(0x009b, 0, 0x0ffff); in arch_setup_gd()
141 /* 16-bit DS: data, read/write, 64 kB, base 0 */ in arch_setup_gd()
142 gdt_addr[X86_GDT_ENTRY_16BIT_DS] = GDT_ENTRY(0x0093, 0, 0x0ffff); in arch_setup_gd()
144 gdt_addr[X86_GDT_ENTRY_16BIT_FLAT_CS] = GDT_ENTRY(0x809b, 0, 0xfffff); in arch_setup_gd()
145 gdt_addr[X86_GDT_ENTRY_16BIT_FLAT_DS] = GDT_ENTRY(0x8093, 0, 0xfffff); in arch_setup_gd()
190 "sahf\n\t" /* clear flags (%eax = 0x0005) */ in test_cyrix_52div()
194 : "0" (5), "q" (2) in test_cyrix_52div()
197 /* AH is 0x02 on Cyrix after the divide.. */ in test_cyrix_52div()
198 return (unsigned char) (test >> 8) == 0x02; in test_cyrix_52div()
210 " movw $0x5555, %%ax\n" in deep_magic_nexgen_probe()
214 " movl $0, %%eax\n" in deep_magic_nexgen_probe()
229 return cpuid_edx(0x00000001) & (1 << 12) ? true : false; in has_mtrr()
235 result = cpuid(0x00000000); in build_vendor_name()
238 name_as_ints[0] = result.ebx; in build_vendor_name()
250 vendor_name[0] = '\0'; /* Unset */ in identify_cpu()
251 cpu->device = 0; /* fix gcc 4.4.4 warning */ in identify_cpu()
257 cpu->device = 0x00000400; /* 486 */ in identify_cpu()
259 cpu->device = 0x00000300; /* 386 */ in identify_cpu()
260 if ((cpu->device == 0x00000400) && test_cyrix_52div()) { in identify_cpu()
272 vendor_name[12] = '\0'; in identify_cpu()
274 /* Intel-defined flags: level 0x00000001 */ in identify_cpu()
275 if (cpuid_level >= 0x00000001) { in identify_cpu()
276 cpu->device = cpuid_eax(0x00000001); in identify_cpu()
278 /* Have CPUID level 0 only unheard of */ in identify_cpu()
279 cpu->device = 0x00000400; in identify_cpu()
283 for (i = 0; i < ARRAY_SIZE(x86_vendors); i++) { in identify_cpu()
284 if (memcmp(vendor_name, x86_vendors[i].name, 12) == 0) { in identify_cpu()
293 c->x86 = (tfms >> 8) & 0xf; in get_fms()
294 c->x86_model = (tfms >> 4) & 0xf; in get_fms()
295 c->x86_mask = tfms & 0xf; in get_fms()
296 if (c->x86 == 0xf) in get_fms()
297 c->x86 += (tfms >> 20) & 0xff; in get_fms()
298 if (c->x86 >= 0x6) in get_fms()
299 c->x86_model += ((tfms >> 16) & 0xF) << 4; in get_fms()
304 return gd->arch.x86_device & 0x0fff0ff0; in cpu_get_family_model()
321 "andl %0, %%eax\n" \ in x86_cpu_init_f()
343 gd->pci_ram_top = 0x80000000U; in x86_cpu_init_f()
383 return 0; in x86_cpu_init_f()
418 "movl %0, %%cr3\n" in cpu_enable_paging_pae()
421 "orl $0x00000020, %%eax\n" in cpu_enable_paging_pae()
425 "orl $0x80000000, %%eax\n" in cpu_enable_paging_pae()
438 "andl $0x7fffffff, %%eax\n" in cpu_disable_paging_pae()
442 "andl $0xffffffdf, %%eax\n" in cpu_disable_paging_pae()
451 return cpuid_eax(0x80000000) > 0x80000000UL; in can_detect_long_mode()
456 return cpuid_edx(0x80000001) & (1 << 29) ? true : false; in has_long_mode()
465 #define PAGETABLE_BASE 0x80000
477 memset(pgtable, '\0', PAGETABLE_SIZE); in build_pagetable()
480 pgtable[0] = (ulong)&pgtable[1024] + 7; in build_pagetable()
483 for (i = 0; i < 4; i++) in build_pagetable()
484 pgtable[1024 + i * 2] = (ulong)&pgtable[2048] + 0x1000 * i + 7; in build_pagetable()
487 for (i = 0; i < 2048; i++) in build_pagetable()
488 pgtable[2048 + i * 2] = 0x183 + (i << 21UL); in build_pagetable()
550 memcpy((char *)target, (char *)0xfff00000, 0x100000); in cpu_jump_to_64bit_uboot()
553 func((ulong)pgtable, 0, (ulong)target); in cpu_jump_to_64bit_uboot()
561 return 0; in enable_smis()
574 mp_params.parallel_microcode_load = 0, in x86_mp_init()
575 mp_params.flight_plan = &mp_steps[0]; in x86_mp_init()
577 mp_params.microcode_pointer = 0; in x86_mp_init()
584 return 0; in x86_mp_init()