driver now enforces correct order of use of INIT_ACCELERANT and CLONE_ACCELERANT: bailing out with B_NOT_ALLOWED if incorrect use is detected.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16021 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen
2006-01-21 14:50:11 +00:00
parent 8bde8143eb
commit 098b042978
@@ -5,7 +5,7 @@
Other authors: Other authors:
Mark Watson; Mark Watson;
Apsed; Apsed;
Rudolf Cornelissen 10/2002-01/2006. Rudolf Cornelissen 10/2002-1/2006.
*/ */
#ifndef DRIVERINTERFACE_H #ifndef DRIVERINTERFACE_H
@@ -126,9 +126,9 @@ typedef struct { // apsed, see comments in nv.settings
bool vga_on_tv; bool vga_on_tv;
} nv_settings; } nv_settings;
/*shared info*/ /* shared info */
typedef struct { typedef struct {
/*a few ID things*/ /* a few ID things */
uint16 vendor_id; /* PCI vendor ID, from pci_info */ uint16 vendor_id; /* PCI vendor ID, from pci_info */
uint16 device_id; /* PCI device ID, from pci_info */ uint16 device_id; /* PCI device ID, from pci_info */
uint8 revision; /* PCI device revsion, from pci_info */ uint8 revision; /* PCI device revsion, from pci_info */
@@ -136,6 +136,9 @@ typedef struct {
uint8 device; /* PCI device number on bus, from pci_info */ uint8 device; /* PCI device number on bus, from pci_info */
uint8 function; /* PCI function number in device, from pci_info */ uint8 function; /* PCI function number in device, from pci_info */
/* used to return status for INIT_ACCELERANT and CLONE_ACCELERANT */
bool accelerant_in_use;
/* bug workaround for 4.5.0 */ /* bug workaround for 4.5.0 */
uint32 use_clone_bugfix; /*for 4.5.0, cloning of physical memory does not work*/ uint32 use_clone_bugfix; /*for 4.5.0, cloning of physical memory does not work*/
uint32 * clone_bugfix_regs; uint32 * clone_bugfix_regs;