- 25 Oct, 2016 40 commits
-
-
Anton Burtsev authored
-
Charles Jacobsen authored
In the process of debugging, major corrections and debug checks implemented (this is a big squash): -- coded up entry checks documented in Intel SDM V3 chp 26 (this should help later if settings are changed, make it less risky to experiment and give more confidence) -- fixed host tr base addr bug (the worst bug! caused system to hang and then crash, since the tss was erroneous...) -- fixed vmx_entry to properly set host rsp before entry -- setting host sysenter and idt info -- fixed cs ar bytes bug -- fixed gdt limit bug -- fixed tr type bug -- extra settings added to cr0 and cr4, but may not be needed ... (debug fix attempt) -- lstar mstar autoload, may not be needed ... (debug fix attempt)
-
Sarah Spall authored
-
Sarah Spall authored
commiting grammar file with bug fixes, although trying to match anything but whitespace causes infinte loop, added destructors to lcd_ast.h, and commented out line that called getReason on exception, causing segfault
-
Anton Burtsev authored
-
Anton Burtsev authored
-- LCD export an API to its domains that is accessible via capability invocations (well, syscalls if you like) -- Kernel runs a thread that implement this API, e.g. serves capability invocations
-
Anton Burtsev authored
-
Anton Burtsev authored
-- I've split capability allocation and cspaces, this makes much more sense -- complex domains can implement custom allocation policies, simple domains go with a static set of caps -- This is a list-based (zone like) allocator
-
Anton Burtsev authored
-- There will be a thread in the kernel serving API calls from LCD domains, like lcd_create_sync_endpoint()...
-
Anton Burtsev authored
-
Anton Burtsev authored
-
Anton Burtsev authored
-
Anton Burtsev authored
-
Anton Burtsev authored
-
Anton Burtsev authored
-- Mine is primitive but works, Muktesh will have to come back and rewrite -- Cspace is an array, only insert and lookup are supported
-
Anton Burtsev authored
-
Sarah Spall authored
-
Sarah Spall authored
-
Sarah Spall authored
-
Charles Jacobsen authored
Fixed (another) nasty casting bug in the code that initializes the ept pointer. I was using the old way of casting, and overlooking that I was storing a host virtual pointer inside a host physical pointer. This caused invept to fail (invept checks if the eptp is valid). I also fixed invept and invvpid to print an error message (like vmload and vmclear), rather than generate an invalid opcode exception. It's easier to debug and understand the problem. In the future, we could more carefully parse the error returned.
-
Anton Burtsev authored
-
Anton Burtsev authored
-
Charles Jacobsen authored
(Sorry for the barrage of pushes, but I want to make sure I push changes in case I crash the machine...)
-
Charlie Jacobsen authored
-
Charles Jacobsen authored
-
Charles Jacobsen authored
-
Charlie Jacobsen authored
-
Anton Burtsev authored
-
Charlie Jacobsen authored
-
Charlie Jacobsen authored
Constructors and casting inlines are in arch-dep code header.
-
Charles Jacobsen authored
Nasty casting bug. (I should create separate types for gpa, hpa, hva, gva...).
-
Charles Jacobsen authored
-
Charles Jacobsen authored
-
Charles Jacobsen authored
Wasn't setting paging entry var when allocating memory for a paging structure.
-
Charles Jacobsen authored
-
Charlie Jacobsen authored
Updated tests.
-
Charles Jacobsen authored
Originally, destroying the ept structures also freed the mapped host physical memory. This is leading to bad double free errors. Instead, I will report a potential memory leak if an ept pte is present. Users of the ept should unmap any host phys memory before destroying the ept (will shift over ept unmap range from arch-indep to arch-dep next). Updated arch test04 to use vmx_free_ept, now that it doesn't try to free mapped host phys mem.
-
Charles Jacobsen authored
-
Charlie Jacobsen authored
-
Charles Jacobsen authored
-