X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fdevices%2Fgeneric.h;h=abd4b5e679b7f63aba42d7b91b382db4a4eeac8b;hb=f9bb3db89469169bb5775dc031d89e570c6fed70;hp=05d91989876f9359082e286faf11fcb71b2f0c18;hpb=028d9b71d4a4e6d49a22ad5904b6dd2f8c596a26;p=palacios.git diff --git a/palacios/include/devices/generic.h b/palacios/include/devices/generic.h index 05d9198..abd4b5e 100644 --- a/palacios/include/devices/generic.h +++ b/palacios/include/devices/generic.h @@ -1,3 +1,6 @@ +/* Northwestern University */ +/* (c) 2008, Peter Dinda */ + #ifndef __GENERIC_H #define __GENERIC_H @@ -22,18 +25,19 @@ // -// A port range is low..high, inclusive -typedef uint_t generic_port_range_type[2]; -// A memory range is low..high, inclusive -typedef void *generic_address_range_type[2]; -// An interrupt ory map range is low..high, inclusive -typedef uint_t generic_irq_range_type[2]; +#define GENERIC_PRINT_AND_PASSTHROUGH 0 +#define GENERIC_PRINT_AND_IGNORE 1 + +// A port range is low..high, inclusive, third value is one of the above +typedef uint_t generic_port_range_type[3]; +// A memory range is low..high, inclusive, flags +typedef void *generic_address_range_type[3]; +// An interrupt ory map range is low..high, inclusive, flags +typedef uint_t generic_irq_range_type[3]; +// The lists given are null terminated struct vm_device *create_generic(generic_port_range_type port_ranges[], - uint_t num_port_ranges, generic_address_range_type addess_ranges[], - uint_t num_address_ranges, - generic_irq_range_type irq_ranges[], - uint_t num_irqranges); + generic_irq_range_type irq_ranges[]); #endif