summerofcode:projecttemplate

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
summerofcode:projecttemplate [2018/05/14 06:50] – SudhanshuSauravsummerofcode:projecttemplate [2018/05/14 21:05] (current) – remove data that was correctly entered into SummerOfCode2018Projects/VerificationOfBhyveInstructionEmulation MarkLinimon
Line 1: Line 1:
-====== Verification of Bhyve's instruction emulation ====== +====== Project name ====== 
-  * Student: Sudhanshu Saurav (sudh.cse@gmail.com) +  * Student: [[/StudentName|StudentName]] (student@email.address) 
-  * Mentor:  Anish Gupta (anish@freebsd.org)+  * Mentor:  [[/MentorName|MentorName]] (mentor@)
  
-===== Project title =====+===== Project description ===== 
 +(Two or three paragraphs about your project, the problem you are trying to solve, and any obstacles you may hit.)
  
-Test harness for instruction emulation code using Intel XED(x86 encoder +===== Approach to solving the problem =====
-decoder) tool.+
  
-===== Project description & Approach to solving the problem ===== +(Details as to how you intend to approach the problem, if applicable. May include ideas as to how to break the problem down into smaller parts, or notes on research you need to do before settling on your final approach to solving the problem)
-Bhyve hypervisor that runs guest operating system inside a virtual machine +
-(parameters like the number of virtual CPUs, amount of guest memory and input-output +
-connectivity can be specified with command line parameter). It has a +
-software emulator of a small number of instructions which needs to be tested using +
-Intel XED tools and after decoding it needs to produce a data structure describing +
-the opcode, operands, and flags or vice versa. The main purpose of this project is +
-to provide a test for Bhyve instructions. The tests are a tiny guest operating system +
-that generally executes few lines of C and assembler test code in order to obtain +
-its PASS/FAIL result. This test harness provides %%FreeBSD%% and software +
-emulator to check the accuracy of their instructions. It is often used for quick and +
-dirty bug reproducer. I will try to provide simplicity to test harness so that it is +
-easy to verify they are correct, easy to maintain and easy to use in timing +
-measurement. +
-Since this %%FreeBSD%% OS supports multiple architectures currently (i386, amd64, +
-ARM, MIPS, PPC, sparc64). I am trying to provide test harness which supports all +
-these architectures. I am creating a test harness for the instructions emulation +
-code using the Intel XED tool which is the software library for encoding and +
-decoding x86(IA-32 instructions set and Intel 64 instructions set) instructions. +
-information and produces a data structure describing the opcode, operands, and +
-flags. From these, we obtain the PASS/FAIL result of the emulation.+
  
 ===== Deliverables ===== ===== Deliverables =====
  
-  * **Test harness** +(List of features you plan to implement)
-  * **Test library** +
-  * **Driver stubs** +
-  * **Executing test** +
-  * **Generating report** +
-* Develops system test driver, another supporting tool that requires executing test +
-* Develop stubs and driver (small program) to interact with the software under test +
-* Design test script to handle different test scenarios and test data+
  
 ===== Milestones ===== ===== Milestones =====
 +
 +(5-10 milestones, with dates, indicating when you hope or expect to be able to complete features. This section is mandatory. Please negotiate these with your mentor to make sure you're not under- or over-estimating the amount of work to be done. Please also make sure the following four dates are included within your milestones)
  
   * May 14th: Start of coding   * May 14th: Start of coding
-    * Test harness for small no. of Instructions+    * You'll be doing this in the first week
   * May 21st: Week 2   * May 21st: Week 2
-    * Provide simplicity to test harness+    * You plan to do this in the second week
   * June 11th - June 15th: Mid-term Evaluations #1   * June 11th - June 15th: Mid-term Evaluations #1
-  * June 12th: Continue coding +  * July 9th - July 13th: Mid-term Evaluations #2
-  * Extend for large no. of Instructions +
-  * July 9th - July 13th: Mid-term Evaluations #2 *July Modified test harness to support most of the architectures.+
   * August 6th: End of coding (soft)   * August 6th: End of coding (soft)
-    * Debug and finish code and complete documentation+    * You may wish to use this time to complete documentation etc
   * August 14th: End of coding (hard)   * August 14th: End of coding (hard)
  
 ===== Test Plan ===== ===== Test Plan =====
  
-With the help of Intel XED(x86 encoder-decoder) tool check the correctness of the Instruction+(List of steps you plan to use to test your work, as discussed with your mentor)
  
 ===== The Code ===== ===== The Code =====
  
-https://github.com/capreyon/Test-harness-for-bhyve-instruction+(Link to your code, for example https://svnweb.freebsd.org/socsvn/soc2018/username/ or a Github URL etc)
  
 ===== Notes ===== ===== Notes =====
  
-Nothing at the moment+(A place to make notes that will be useful to others looking at your code.  You probably don't need to put anything here on day one)
  
 ===== Useful links ===== ===== Useful links =====
  
-* https://intelxed.github.io/ +(Links to any external resources, work, research etc which may be useful to you or to anybody wanting to understand your work)
-* https://github.com/intelxed +
-* https://svnweb.freebsd.org/base/head/sys/amd64/vmm/vmm_instruction_emul.c+
  
  • summerofcode/projecttemplate.1526280640.txt.gz
  • Last modified: 2018/05/14 06:50
  • by SudhanshuSaurav