Lines Matching refs:segp

411 static void kvm_seg_set_unusable(struct kvm_segment *segp)  in kvm_seg_set_unusable()  argument
413 memset(segp, 0, sizeof(*segp)); in kvm_seg_set_unusable()
414 segp->unusable = true; in kvm_seg_set_unusable()
417 static void kvm_seg_fill_gdt_64bit(struct kvm_vm *vm, struct kvm_segment *segp) in kvm_seg_fill_gdt_64bit() argument
420 struct desc64 *desc = gdt + (segp->selector >> 3) * 8; in kvm_seg_fill_gdt_64bit()
422 desc->limit0 = segp->limit & 0xFFFF; in kvm_seg_fill_gdt_64bit()
423 desc->base0 = segp->base & 0xFFFF; in kvm_seg_fill_gdt_64bit()
424 desc->base1 = segp->base >> 16; in kvm_seg_fill_gdt_64bit()
425 desc->type = segp->type; in kvm_seg_fill_gdt_64bit()
426 desc->s = segp->s; in kvm_seg_fill_gdt_64bit()
427 desc->dpl = segp->dpl; in kvm_seg_fill_gdt_64bit()
428 desc->p = segp->present; in kvm_seg_fill_gdt_64bit()
429 desc->limit1 = segp->limit >> 16; in kvm_seg_fill_gdt_64bit()
430 desc->avl = segp->avl; in kvm_seg_fill_gdt_64bit()
431 desc->l = segp->l; in kvm_seg_fill_gdt_64bit()
432 desc->db = segp->db; in kvm_seg_fill_gdt_64bit()
433 desc->g = segp->g; in kvm_seg_fill_gdt_64bit()
434 desc->base2 = segp->base >> 24; in kvm_seg_fill_gdt_64bit()
435 if (!segp->s) in kvm_seg_fill_gdt_64bit()
436 desc->base3 = segp->base >> 32; in kvm_seg_fill_gdt_64bit()
439 static void kvm_seg_set_kernel_code_64bit(struct kvm_segment *segp) in kvm_seg_set_kernel_code_64bit() argument
441 memset(segp, 0, sizeof(*segp)); in kvm_seg_set_kernel_code_64bit()
442 segp->selector = KERNEL_CS; in kvm_seg_set_kernel_code_64bit()
443 segp->limit = 0xFFFFFFFFu; in kvm_seg_set_kernel_code_64bit()
444 segp->s = 0x1; /* kTypeCodeData */ in kvm_seg_set_kernel_code_64bit()
445 segp->type = 0x08 | 0x01 | 0x02; /* kFlagCode | kFlagCodeAccessed in kvm_seg_set_kernel_code_64bit()
448 segp->g = true; in kvm_seg_set_kernel_code_64bit()
449 segp->l = true; in kvm_seg_set_kernel_code_64bit()
450 segp->present = 1; in kvm_seg_set_kernel_code_64bit()
453 static void kvm_seg_set_kernel_data_64bit(struct kvm_segment *segp) in kvm_seg_set_kernel_data_64bit() argument
455 memset(segp, 0, sizeof(*segp)); in kvm_seg_set_kernel_data_64bit()
456 segp->selector = KERNEL_DS; in kvm_seg_set_kernel_data_64bit()
457 segp->limit = 0xFFFFFFFFu; in kvm_seg_set_kernel_data_64bit()
458 segp->s = 0x1; /* kTypeCodeData */ in kvm_seg_set_kernel_data_64bit()
459 segp->type = 0x00 | 0x01 | 0x02; /* kFlagData | kFlagDataAccessed in kvm_seg_set_kernel_data_64bit()
462 segp->g = true; in kvm_seg_set_kernel_data_64bit()
463 segp->present = true; in kvm_seg_set_kernel_data_64bit()
481 static void kvm_seg_set_tss_64bit(vm_vaddr_t base, struct kvm_segment *segp) in kvm_seg_set_tss_64bit() argument
483 memset(segp, 0, sizeof(*segp)); in kvm_seg_set_tss_64bit()
484 segp->base = base; in kvm_seg_set_tss_64bit()
485 segp->limit = 0x67; in kvm_seg_set_tss_64bit()
486 segp->selector = KERNEL_TSS; in kvm_seg_set_tss_64bit()
487 segp->type = 0xb; in kvm_seg_set_tss_64bit()
488 segp->present = 1; in kvm_seg_set_tss_64bit()