Lines Matching refs:segp

438 static void kvm_seg_set_unusable(struct kvm_segment *segp)  in kvm_seg_set_unusable()  argument
440 memset(segp, 0, sizeof(*segp)); in kvm_seg_set_unusable()
441 segp->unusable = true; in kvm_seg_set_unusable()
444 static void kvm_seg_fill_gdt_64bit(struct kvm_vm *vm, struct kvm_segment *segp) in kvm_seg_fill_gdt_64bit() argument
447 struct desc64 *desc = gdt + (segp->selector >> 3) * 8; in kvm_seg_fill_gdt_64bit()
449 desc->limit0 = segp->limit & 0xFFFF; in kvm_seg_fill_gdt_64bit()
450 desc->base0 = segp->base & 0xFFFF; in kvm_seg_fill_gdt_64bit()
451 desc->base1 = segp->base >> 16; in kvm_seg_fill_gdt_64bit()
452 desc->s = segp->s; in kvm_seg_fill_gdt_64bit()
453 desc->type = segp->type; in kvm_seg_fill_gdt_64bit()
454 desc->dpl = segp->dpl; in kvm_seg_fill_gdt_64bit()
455 desc->p = segp->present; in kvm_seg_fill_gdt_64bit()
456 desc->limit1 = segp->limit >> 16; in kvm_seg_fill_gdt_64bit()
457 desc->l = segp->l; in kvm_seg_fill_gdt_64bit()
458 desc->db = segp->db; in kvm_seg_fill_gdt_64bit()
459 desc->g = segp->g; in kvm_seg_fill_gdt_64bit()
460 desc->base2 = segp->base >> 24; in kvm_seg_fill_gdt_64bit()
461 if (!segp->s) in kvm_seg_fill_gdt_64bit()
462 desc->base3 = segp->base >> 32; in kvm_seg_fill_gdt_64bit()
481 struct kvm_segment *segp) in kvm_seg_set_kernel_code_64bit() argument
483 memset(segp, 0, sizeof(*segp)); in kvm_seg_set_kernel_code_64bit()
484 segp->selector = selector; in kvm_seg_set_kernel_code_64bit()
485 segp->limit = 0xFFFFFFFFu; in kvm_seg_set_kernel_code_64bit()
486 segp->s = 0x1; /* kTypeCodeData */ in kvm_seg_set_kernel_code_64bit()
487 segp->type = 0x08 | 0x01 | 0x02; /* kFlagCode | kFlagCodeAccessed in kvm_seg_set_kernel_code_64bit()
490 segp->g = true; in kvm_seg_set_kernel_code_64bit()
491 segp->l = true; in kvm_seg_set_kernel_code_64bit()
492 segp->present = 1; in kvm_seg_set_kernel_code_64bit()
494 kvm_seg_fill_gdt_64bit(vm, segp); in kvm_seg_set_kernel_code_64bit()
512 struct kvm_segment *segp) in kvm_seg_set_kernel_data_64bit() argument
514 memset(segp, 0, sizeof(*segp)); in kvm_seg_set_kernel_data_64bit()
515 segp->selector = selector; in kvm_seg_set_kernel_data_64bit()
516 segp->limit = 0xFFFFFFFFu; in kvm_seg_set_kernel_data_64bit()
517 segp->s = 0x1; /* kTypeCodeData */ in kvm_seg_set_kernel_data_64bit()
518 segp->type = 0x00 | 0x01 | 0x02; /* kFlagData | kFlagDataAccessed in kvm_seg_set_kernel_data_64bit()
521 segp->g = true; in kvm_seg_set_kernel_data_64bit()
522 segp->present = true; in kvm_seg_set_kernel_data_64bit()
524 kvm_seg_fill_gdt_64bit(vm, segp); in kvm_seg_set_kernel_data_64bit()
598 static void kvm_setup_tss_64bit(struct kvm_vm *vm, struct kvm_segment *segp, in kvm_setup_tss_64bit() argument
606 memset(segp, 0, sizeof(*segp)); in kvm_setup_tss_64bit()
607 segp->base = vm->tss; in kvm_setup_tss_64bit()
608 segp->limit = 0x67; in kvm_setup_tss_64bit()
609 segp->selector = selector; in kvm_setup_tss_64bit()
610 segp->type = 0xb; in kvm_setup_tss_64bit()
611 segp->present = 1; in kvm_setup_tss_64bit()
612 kvm_seg_fill_gdt_64bit(vm, segp); in kvm_setup_tss_64bit()