X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_decoder.h;h=ec52d094f3cea38d6a2b09a9dd03612b612b9a1e;hb=5db3136d5331c355c188537c68005db8d2cb4eac;hp=0d4fbba8d605f89072f6539a30b3b42269504b4c;hpb=f9bb3db89469169bb5775dc031d89e570c6fed70;p=palacios.releases.git diff --git a/palacios/include/palacios/vmm_decoder.h b/palacios/include/palacios/vmm_decoder.h index 0d4fbba..ec52d09 100644 --- a/palacios/include/palacios/vmm_decoder.h +++ b/palacios/include/palacios/vmm_decoder.h @@ -1,8 +1,25 @@ -/* Northwestern University */ -/* (c) 2008, Jack Lange */ -#ifndef __VMM_EMULATE_H -#define __VMM_EMULATE_H +/* + * This file is part of the Palacios Virtual Machine Monitor developed + * by the V3VEE Project with funding from the United States National + * Science Foundation and the Department of Energy. + * + * The V3VEE Project is a joint project between Northwestern University + * and the University of New Mexico. You can find out more at + * http://www.v3vee.org + * + * Copyright (c) 2008, Jack Lange + * Copyright (c) 2008, The V3VEE Project + * All rights reserved. + * + * Author: Jack Lange + * + * This is free software. You are permitted to use, + * redistribute, and modify it as specified in the file "V3VEE_LICENSE". + */ + +#ifndef __VMM_DECODER_H +#define __VMM_DECODER_H #ifdef __V3VEE__ @@ -194,7 +211,7 @@ MAKE_INSTR(SMSW, 3, 0x0f, 0x01, 0x00); int opcode_cmp(const uchar_t * op1, const uchar_t * op2); -static inline int is_prefix_byte(char byte) { +static inline int is_prefix_byte(uchar_t byte) { switch (byte) { case 0xF0: // lock case 0xF2: // REPNE/REPNZ @@ -404,13 +421,13 @@ static inline operand_type_t decode_operands16(struct v3_gprs * gprs, // input/o static inline operand_type_t decode_operands32(struct v3_gprs * gprs, // input/output - char * modrm_instr, // input + uchar_t * modrm_instr, // input int * offset, // output addr_t * first_operand, // output addr_t * second_operand, // output reg_size_t reg_size) { // input - char * instr_cursor = modrm_instr; + uchar_t * instr_cursor = modrm_instr; struct modrm_byte * modrm = (struct modrm_byte *)modrm_instr; addr_t base_addr = 0; modrm_mode_t mod_mode = 0;