66d65
< uint64_t base = desc.baseLow + (desc.baseHigh << 24);
71,73d69
< uint64_t limit = desc.limitLow | (desc.limitHigh << 16);
< if (desc.g)
< limit = (limit << 12) | mask(12);
104,106c100,102
< tc->setMiscReg(MISCREG_SEG_BASE(seg), base);
< tc->setMiscReg(MISCREG_SEG_EFF_BASE(seg), honorBase ? base : 0);
< tc->setMiscReg(MISCREG_SEG_LIMIT(seg), limit);
---
> tc->setMiscReg(MISCREG_SEG_BASE(seg), desc.base);
> tc->setMiscReg(MISCREG_SEG_EFF_BASE(seg), honorBase ? desc.base : 0);
> tc->setMiscReg(MISCREG_SEG_LIMIT(seg), desc.limit);
162,165c158,159
< initDesc.limitHigh = 0xF;
< initDesc.limitLow = 0xFFFF;
< initDesc.baseHigh = 0x0;
< initDesc.baseLow = 0x0;
---
> initDesc.limit = 0xFFFFFFFF;
> initDesc.base = 0;