Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


16 years agoadded pae+64 bit page table access checks
Jack Lange [Fri, 31 Oct 2008 19:36:06 +0000]
added pae+64 bit page table access checks
moved memory conversion functions to use new page table translate functions

16 years agoadded translation functions
Jack Lange [Fri, 31 Oct 2008 18:22:57 +0000]
added translation functions
fixed build errors

16 years agoadded the translation functions to the header file
Jack Lange [Thu, 30 Oct 2008 23:59:38 +0000]
added the translation functions to the header file

16 years agoadded guest page table translators for 32/32PAE/64 page tables
Jack Lange [Thu, 30 Oct 2008 23:56:23 +0000]
added guest page table translators for 32/32PAE/64 page tables

16 years agoadded lookup functions for all page table forms,
Jack Lange [Thu, 30 Oct 2008 23:14:30 +0000]
added lookup functions for all page table forms,
generalized the return types for the lookup functions
updated source tree to match
added large page forms for pae and 64 bit page tables

16 years agofixed xed to handle SMSW instructions
Jack Lange [Thu, 30 Oct 2008 22:15:05 +0000]
fixed xed to handle SMSW instructions
FreeDOS works

16 years agocleaned up the PAGE table access macros to be general implementations that work acros...
Jack Lange [Thu, 30 Oct 2008 22:14:01 +0000]
cleaned up the PAGE table access macros to be general implementations that work across all page table forms
starting to add page table translators

16 years agomoved paging debug functions to a separate file that gets included only into vmm_paging.c
Jack Lange [Thu, 30 Oct 2008 19:55:40 +0000]
moved paging debug functions to a separate file that gets included only into vmm_paging.c

16 years agounified and simplified the control register handlers to operate in all CPU modes
Jack Lange [Thu, 30 Oct 2008 05:30:57 +0000]
unified and simplified the control register handlers to operate in all CPU modes

16 years agoadded mem_size config variable
Jack Lange [Thu, 30 Oct 2008 05:30:17 +0000]
added mem_size config variable
not yet hooked up in the VMM
restructured the configuration

16 years agosetting up framework for 64 bit shadow paging
Jack Lange [Wed, 29 Oct 2008 21:48:02 +0000]
setting up framework for 64 bit shadow paging
streamlined geekos build

16 years agochanged the CR3 conversion macros to be physical/virtual address specific
Jack Lange [Wed, 29 Oct 2008 19:04:51 +0000]
changed the CR3 conversion macros to be physical/virtual address specific

16 years agorestructured the ctrl register handlers
Jack Lange [Wed, 29 Oct 2008 17:47:59 +0000]
restructured the ctrl register handlers
setting up the ctrl registers to call into the shadow paging subsystem for all shadow page operations
removed redundant shadow_cr3 variable from shadow paging state

16 years agoadded full EFER virtualization
Jack Lange [Wed, 29 Oct 2008 00:01:26 +0000]
added full EFER virtualization

16 years agoadded more 64 bit support,
Jack Lange [Tue, 28 Oct 2008 23:54:50 +0000]
added more 64 bit support,
moved around the control register handlers to segregate the different CPU modes
NOTE: They currently work, but they are wrong...

16 years agomore 64 bit guest support
Jack Lange [Mon, 27 Oct 2008 22:50:04 +0000]
more 64 bit guest support
we can mostly handle efer reads/writes
we can transition direct mapped page tables from 32 bit to 64 bit formats
added Page Table debugging support

16 years agoadded MSR hook framework
Jack Lange [Mon, 27 Oct 2008 21:05:51 +0000]
added MSR hook framework
added preliminary CR4 write handler, to handle PAE mode switch
added passthrough 32bit PAE page tables for non-paged 32 bit PAE mode

16 years agofixed format string issues due to printf attribute checks
Jack Lange [Sun, 26 Oct 2008 01:18:07 +0000]
fixed format string issues due to printf attribute checks

16 years agobacked out support for long paged real mode
Jack Lange [Sat, 25 Oct 2008 18:35:21 +0000]
backed out support for long paged real mode

16 years agoadded 32 bit support for geekos
Jack Lange [Sat, 25 Oct 2008 17:54:54 +0000]
added 32 bit support for geekos

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Jack Lange [Wed, 22 Oct 2008 23:28:33 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoadded 64 bit paging for paged real mode
Jack Lange [Wed, 22 Oct 2008 23:28:20 +0000]
added 64 bit paging for paged real mode

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 23:27:02 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agoAdded auto-dependency tracking.
Trammell Hudson [Wed, 22 Oct 2008 23:25:27 +0000]
Added auto-dependency tracking.
Quieted build output.
Removed old targets and cleaned up some targets.

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Jack Lange [Wed, 22 Oct 2008 22:12:55 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agochanged VMCB to enter long paged real mode(?) if it exists.
Jack Lange [Wed, 22 Oct 2008 22:11:19 +0000]
changed VMCB to enter long paged real mode(?) if it exists.

16 years agoIt works!
Trammell Hudson [Wed, 22 Oct 2008 20:32:14 +0000]
It works!
- Fixed CR3 addresses to be kernel virtual addresses before
dereferencing them.
- Re-arranged v3_handle_shadow_invlpg()

16 years agoImprove panic message if asked to free a bad page
Trammell Hudson [Wed, 22 Oct 2008 20:31:36 +0000]
Improve panic message if asked to free a bad page

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 18:50:26 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agofixed shadow paging up to the next error
Jack Lange [Wed, 22 Oct 2008 18:47:48 +0000]
fixed shadow paging up to the next error

16 years agomore printf format fixes
Jack Lange [Wed, 22 Oct 2008 16:45:01 +0000]
more printf format fixes

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 16:43:44 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agotypecast fix
Jack Lange [Wed, 22 Oct 2008 16:43:25 +0000]
typecast fix

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 16:42:41 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agoadded address conversion to cached CR3 value
Jack Lange [Wed, 22 Oct 2008 16:42:09 +0000]
added address conversion to cached CR3 value

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 16:35:42 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agotypecasting fix
Jack Lange [Wed, 22 Oct 2008 16:35:13 +0000]
typecasting fix

16 years agoNo changes.
Trammell Hudson [Wed, 22 Oct 2008 16:34:55 +0000]
No changes.

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 16:33:38 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agofixed address conversion for CR3
Jack Lange [Wed, 22 Oct 2008 16:31:26 +0000]
fixed address conversion for CR3

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 16:10:42 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agoBetter reporting when vmm exits
Trammell Hudson [Wed, 22 Oct 2008 16:10:36 +0000]
Better reporting when vmm exits

16 years agoRe-enable debug printks from guest
Trammell Hudson [Wed, 22 Oct 2008 16:10:23 +0000]
Re-enable debug printks from guest

16 years agoAdded runtime option to print cpu number on each line
Trammell Hudson [Wed, 22 Oct 2008 16:09:55 +0000]
Added runtime option to print cpu number on each line

16 years agofixed all the printf style warnings/errors
Jack Lange [Wed, 22 Oct 2008 16:08:53 +0000]
fixed all the printf style warnings/errors

16 years agoEnable printf warnings on info/debug/trace os hooks
Trammell Hudson [Wed, 22 Oct 2008 15:40:43 +0000]
Enable printf warnings on info/debug/trace os hooks

16 years agoWired up keyboard interrupt to v3vee (and it works!).
Trammell Hudson [Wed, 22 Oct 2008 15:36:02 +0000]
Wired up keyboard interrupt to v3vee (and it works!).
Silenced all warnings in kitten build.
Removed dead prototypes in palacios.h.
Fixed race in delivering keyboard interrupt to v3vee before guest was started.
Depends on having IOAPIC configured to generate keyboard interrupts.

16 years agoFake IOAPIC address if there is no mptable found
Trammell Hudson [Wed, 22 Oct 2008 15:35:41 +0000]
Fake IOAPIC address if there is no mptable found

16 years agoImplemented vprintk() to allow V3VEE debug printfs to be forwarded to the console
Trammell Hudson [Wed, 22 Oct 2008 15:34:45 +0000]
Implemented vprintk() to allow V3VEE debug printfs to be forwarded to the console

16 years agoSilence warnings if CONFIG_V3VEE
Trammell Hudson [Wed, 22 Oct 2008 15:34:12 +0000]
Silence warnings if CONFIG_V3VEE

16 years agoRemoved acpi include directories
Trammell Hudson [Wed, 22 Oct 2008 14:18:41 +0000]
Removed acpi include directories

16 years agoDo not make oldconfig when building kitten
Trammell Hudson [Wed, 22 Oct 2008 14:16:28 +0000]
Do not make oldconfig when building kitten

16 years agofixed makefile to turn off vga
Jack Lange [Wed, 22 Oct 2008 02:27:23 +0000]
fixed makefile to turn off vga

16 years agofixed cdrom
Jack Lange [Wed, 22 Oct 2008 02:27:00 +0000]
fixed cdrom

16 years agofixed ins/outs and moved the gs.base save/restore point
Jack Lange [Wed, 22 Oct 2008 02:13:14 +0000]
fixed ins/outs and moved the gs.base save/restore point

16 years agoadded GS.BASE save/restore
Jack Lange [Wed, 22 Oct 2008 02:06:25 +0000]
added GS.BASE save/restore

16 years agoadded boot kitten2
Jack Lange [Wed, 22 Oct 2008 01:13:47 +0000]
added boot kitten2

16 years agofixed svm entry launch
Jack Lange [Wed, 22 Oct 2008 01:09:51 +0000]
fixed svm entry launch
added debugging

16 years agoDo not try to derefence current
Trammell Hudson [Wed, 22 Oct 2008 01:04:21 +0000]
Do not try to derefence current

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Wed, 22 Oct 2008 00:54:33 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agoDetect recursive page faults and halt
Trammell Hudson [Wed, 22 Oct 2008 00:53:58 +0000]
Detect recursive page faults and halt

16 years agoupdated to use pa_to_va address conversion
Jack Lange [Tue, 21 Oct 2008 23:44:50 +0000]
updated to use pa_to_va address conversion
now bombs out on first instruction of guest

16 years agoReflowed some files to conform to Kitten style guide and
Trammell Hudson [Tue, 21 Oct 2008 23:01:32 +0000]
Reflowed some files to conform to Kitten style guide and
replaced structure declarations with designated initializers.

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Tue, 21 Oct 2008 22:43:25 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

Conflicts:
kitten/init/main.c

16 years agoV3VEE compiles. Segfaults, but the callback structures work.
Trammell Hudson [Tue, 21 Oct 2008 22:38:40 +0000]
V3VEE compiles.  Segfaults, but the callback structures work.

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Kevin Pedretti [Tue, 21 Oct 2008 22:12:16 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Peter Dinda [Tue, 21 Oct 2008 22:11:58 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoFix warnings
Kevin Pedretti [Tue, 21 Oct 2008 22:10:46 +0000]
Fix warnings

16 years agoFirst glue logic
Peter Dinda [Tue, 21 Oct 2008 22:10:33 +0000]
First glue logic

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Kevin Pedretti [Tue, 21 Oct 2008 22:07:41 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoProtect IDT table with a spinlock
Kevin Pedretti [Tue, 21 Oct 2008 22:03:46 +0000]
Protect IDT table with a spinlock

16 years agoUse the puppy linux iso instead of the init_task for V3VEE development
Trammell Hudson [Tue, 21 Oct 2008 21:53:34 +0000]
Use the puppy linux iso instead of the init_task for V3VEE development

16 years agoBoot a 1 G kitten kernel under qemu
Trammell Hudson [Tue, 21 Oct 2008 21:51:52 +0000]
Boot a 1 G kitten kernel under qemu

16 years agoOutput total memory from e820 map
Trammell Hudson [Tue, 21 Oct 2008 21:49:53 +0000]
Output total memory from e820 map

16 years agoMerge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten
Trammell Hudson [Tue, 21 Oct 2008 21:33:03 +0000]
Merge branch 'kitten' of ssh://sharedev@localhost/home/sharedev/palacios into kitten

16 years agoPrototypes for kitten hooks to v3vee callbacks
Trammell Hudson [Tue, 21 Oct 2008 21:32:54 +0000]
Prototypes for kitten hooks to v3vee callbacks

16 years agochanged bios configuration method
Jack Lange [Tue, 21 Oct 2008 21:29:45 +0000]
changed bios configuration method

16 years agoTrammell is a doofus
Kevin Pedretti [Tue, 21 Oct 2008 21:18:10 +0000]
Trammell is a doofus

16 years agoRemoved mercurial files from git control.
Trammell Hudson [Tue, 21 Oct 2008 21:10:24 +0000]
Removed mercurial files from git control.
They were creating spurious diffs and would never merge anyway...

16 years agoAdded <lwk/palacios.h> header for all users of the V3VEE library to include.
Trammell Hudson [Tue, 21 Oct 2008 21:08:04 +0000]
Added <lwk/palacios.h> header for all users of the V3VEE library to include.
Safe to include even if CONFIG_V3VEE is not defined.
Print out debugging info on the ROM Bios location.

16 years agoForce git to create kitten/palacios subdirectory
Trammell Hudson [Tue, 21 Oct 2008 20:56:14 +0000]
Force git to create kitten/palacios subdirectory

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Kevin Pedretti [Tue, 21 Oct 2008 20:53:05 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoFix makefile
Kevin Pedretti [Tue, 21 Oct 2008 20:52:29 +0000]
Fix makefile

16 years agofixed xed clean issue
Jack Lange [Tue, 21 Oct 2008 20:51:28 +0000]
fixed xed clean issue

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Jack Lange [Tue, 21 Oct 2008 20:40:15 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoLink in palacios
Kevin Pedretti [Tue, 21 Oct 2008 20:39:26 +0000]
Link in palacios

16 years agoupdated assembly to build in 64 bit mode
Jack Lange [Tue, 21 Oct 2008 20:36:51 +0000]
updated assembly to build in 64 bit mode
IMPORTANT 64 bit v3_svm_launch is not implemented

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Kevin Pedretti [Tue, 21 Oct 2008 20:20:06 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Jack Lange [Tue, 21 Oct 2008 20:17:01 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoadded 64bit support to makefiles
Jack Lange [Tue, 21 Oct 2008 20:16:35 +0000]
added 64bit support to makefiles

16 years agoFix gcc warning messages
Kevin Pedretti [Tue, 21 Oct 2008 20:15:46 +0000]
Fix gcc warning messages

16 years agoMerged changes and added CONFIG_V3VEE wrappers
Trammell Hudson [Tue, 21 Oct 2008 20:15:23 +0000]
Merged changes and added CONFIG_V3VEE wrappers

16 years agoMerge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev...
Peter Dinda [Tue, 21 Oct 2008 20:10:34 +0000]
Merge branch 'kitten' of ssh://sharedev@newskysaw.cs.northwestern.edu/home/sharedev/palacios into kitten

16 years agoAdded CONFIG_V3VEE to kernel config file
Trammell Hudson [Tue, 21 Oct 2008 20:09:58 +0000]
Added CONFIG_V3VEE to kernel config file
Added rombios and vgabios to kitten kernel if CONFIG_V3VEE is defined.
Link in libv3vee, xed and xed32e if CONFIG_V3VEE is defined.

16 years agoadded call to palacios
Peter Dinda [Tue, 21 Oct 2008 20:09:23 +0000]
added call to palacios

16 years agoDo make config before building kitten first time
Kevin Pedretti [Tue, 21 Oct 2008 19:54:13 +0000]
Do make config before building kitten first time

16 years agoAdded kitten build target
Peter Dinda [Tue, 21 Oct 2008 19:50:55 +0000]
Added kitten build target

16 years agoAdded Kitten
Kevin Pedretti [Tue, 21 Oct 2008 19:30:25 +0000]
Added Kitten

16 years agomoved svm_lowlevel.asm over to gas syntax in svm_lowlevel.S
Jack Lange [Mon, 20 Oct 2008 22:58:12 +0000]
moved svm_lowlevel.asm over to gas syntax in svm_lowlevel.S

16 years agomoved vmm_lowlevel.asm to C header file vmm_lowlevel.h
Jack Lange [Mon, 20 Oct 2008 21:40:04 +0000]
moved vmm_lowlevel.asm to C header file vmm_lowlevel.h