Skip to content

Commit 6993fdb

Browse files
fyin1lijinxia
authored andcommitted
DM: set cs_limit from DM side for UOS
For CS of UOS, we would like to pass all related info (cs attribute, limit, base) from DM. Tracked-On: #1231 Signed-off-by: Yin Fengwei <fengwei.yin@intel.com> Acked-by: Eddie Dong <Eddie.dong@intel.com>
1 parent b12c7b7 commit 6993fdb

File tree

4 files changed

+5
-1
lines changed

4 files changed

+5
-1
lines changed

devicemodel/core/sw_load_bzimage.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ acrn_sw_load_bzimage(struct vmctx *ctx)
344344

345345
ctx->bsp_regs.vcpu_regs.cs_sel = 0x10U;
346346
ctx->bsp_regs.vcpu_regs.cs_ar = 0xC09BU;
347+
ctx->bsp_regs.vcpu_regs.cs_limit = 0xFFFFFFFFU;
347348

348349
ctx->bsp_regs.vcpu_regs.ds_sel = 0x18U;
349350
ctx->bsp_regs.vcpu_regs.ss_sel = 0x18U;

devicemodel/core/sw_load_elf.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ acrn_sw_load_elf(struct vmctx *ctx)
283283

284284
ctx->bsp_regs.vcpu_regs.cs_ar = 0xCF9BU;
285285
ctx->bsp_regs.vcpu_regs.cs_sel = 0x8U;
286+
ctx->bsp_regs.vcpu_regs.cs_limit = 0xFFFFFFFFU;
286287

287288
ctx->bsp_regs.vcpu_regs.ds_sel = 0x10U;
288289
ctx->bsp_regs.vcpu_regs.ss_sel = 0x10U;

devicemodel/core/sw_load_vsbl.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,7 @@ acrn_sw_load_vsbl(struct vmctx *ctx)
307307
ctx->bsp_regs.vcpu_regs.cr0 = 0x30U;
308308
ctx->bsp_regs.vcpu_regs.cs_ar = 0x009FU;
309309
ctx->bsp_regs.vcpu_regs.cs_sel = 0xF000U;
310+
ctx->bsp_regs.vcpu_regs.cs_limit = 0xFFFFU;
310311
ctx->bsp_regs.vcpu_regs.cs_base = (VSBL_TOP(ctx) - 16) &0xFFFF0000UL;
311312
ctx->bsp_regs.vcpu_regs.rip = (VSBL_TOP(ctx) - 16) & 0xFFFFUL;
312313
ctx->bsp_regs.vcpu_regs.gprs.rsi = CONFIGPAGE_OFF(ctx);

devicemodel/include/public/acrn_common.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,8 @@ struct acrn_vcpu_regs {
309309
uint64_t reserved_64[4];
310310

311311
uint32_t cs_ar;
312-
uint32_t reserved_32[4];
312+
uint32_t cs_limit;
313+
uint32_t reserved_32[3];
313314

314315
/* don't change the order of following sel */
315316
uint16_t cs_sel;

0 commit comments

Comments
 (0)