Lines Matching defs:segp

555  *   segp - Pointer to segment register
559 * Sets the segment register pointed to by @segp to an unusable state.
561 static void kvm_seg_set_unusable(struct kvm_segment *segp)
563 memset(segp, 0, sizeof(*segp));
564 segp->unusable = true;
567 static void kvm_seg_fill_gdt_64bit(struct kvm_vm *vm, struct kvm_segment *segp)
570 struct desc64 *desc = gdt + (segp->selector >> 3) * 8;
572 desc->limit0 = segp->limit & 0xFFFF;
573 desc->base0 = segp->base & 0xFFFF;
574 desc->base1 = segp->base >> 16;
575 desc->type = segp->type;
576 desc->s = segp->s;
577 desc->dpl = segp->dpl;
578 desc->p = segp->present;
579 desc->limit1 = segp->limit >> 16;
580 desc->avl = segp->avl;
581 desc->l = segp->l;
582 desc->db = segp->db;
583 desc->g = segp->g;
584 desc->base2 = segp->base >> 24;
585 if (!segp->s)
586 desc->base3 = segp->base >> 32;
589 static void kvm_seg_set_kernel_code_64bit(struct kvm_segment *segp)
591 memset(segp, 0, sizeof(*segp));
592 segp->selector = KERNEL_CS;
593 segp->limit = 0xFFFFFFFFu;
594 segp->s = 0x1; /* kTypeCodeData */
595 segp->type = 0x08 | 0x01 | 0x02; /* kFlagCode | kFlagCodeAccessed
598 segp->g = true;
599 segp->l = true;
600 segp->present = 1;
603 static void kvm_seg_set_kernel_data_64bit(struct kvm_segment *segp)
605 memset(segp, 0, sizeof(*segp));
606 segp->selector = KERNEL_DS;
607 segp->limit = 0xFFFFFFFFu;
608 segp->s = 0x1; /* kTypeCodeData */
609 segp->type = 0x00 | 0x01 | 0x02; /* kFlagData | kFlagDataAccessed
612 segp->g = true;
613 segp->present = true;
631 static void kvm_seg_set_tss_64bit(gva_t base, struct kvm_segment *segp)
633 memset(segp, 0, sizeof(*segp));
634 segp->base = base;
635 segp->limit = 0x67;
636 segp->selector = KERNEL_TSS;
637 segp->type = 0xb;
638 segp->present = 1;