Applied patch by Urias in order to let the PPC port build again.
Temporarily removed the VESA driver, as long as it only builds on x86. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25913 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
90ab7ea343
commit
52b5cb5a10
@ -83,7 +83,7 @@ BEOS_NETWORK_PROTOCOLS = ipv4 tcp udp icmp unix ;
|
|||||||
|
|
||||||
BEOS_ADD_ONS_ACCELERANTS = $(X86_ONLY)radeon.accelerant $(X86_ONLY)nvidia.accelerant
|
BEOS_ADD_ONS_ACCELERANTS = $(X86_ONLY)radeon.accelerant $(X86_ONLY)nvidia.accelerant
|
||||||
$(X86_ONLY)matrox.accelerant $(X86_ONLY)neomagic.accelerant
|
$(X86_ONLY)matrox.accelerant $(X86_ONLY)neomagic.accelerant
|
||||||
$(X86_ONLY)intel_extreme.accelerant $(X86_ONLY)s3.accelerant vesa.accelerant
|
$(X86_ONLY)intel_extreme.accelerant $(X86_ONLY)s3.accelerant $(X86_ONLY)vesa.accelerant
|
||||||
#$(X86_ONLY)via.accelerant
|
#$(X86_ONLY)via.accelerant
|
||||||
#$(X86_ONLY)vmware.accelerant
|
#$(X86_ONLY)vmware.accelerant
|
||||||
;
|
;
|
||||||
@ -122,7 +122,7 @@ BEOS_ADD_ONS_SCREENSAVERS = Haiku IFS Spider ;
|
|||||||
BEOS_ADD_ONS_DRIVERS_AUDIO = auich auvia emuxki ; #hda
|
BEOS_ADD_ONS_DRIVERS_AUDIO = auich auvia emuxki ; #hda
|
||||||
BEOS_ADD_ONS_DRIVERS_GRAPHICS = $(X86_ONLY)radeon $(X86_ONLY)nvidia
|
BEOS_ADD_ONS_DRIVERS_GRAPHICS = $(X86_ONLY)radeon $(X86_ONLY)nvidia
|
||||||
$(X86_ONLY)neomagic $(X86_ONLY)matrox $(X86_ONLY)intel_extreme
|
$(X86_ONLY)neomagic $(X86_ONLY)matrox $(X86_ONLY)intel_extreme
|
||||||
$(X86_ONLY)s3 vesa #$(X86_ONLY)via #$(X86_ONLY)vmware
|
$(X86_ONLY)s3 $(X86_ONLY)vesa #$(X86_ONLY)via #$(X86_ONLY)vmware
|
||||||
;
|
;
|
||||||
BEOS_ADD_ONS_DRIVERS_MIDI = emuxki ;
|
BEOS_ADD_ONS_DRIVERS_MIDI = emuxki ;
|
||||||
BEOS_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com etherpci $(X86_ONLY)ipro1000
|
BEOS_ADD_ONS_DRIVERS_NET = $(X86_ONLY)3com etherpci $(X86_ONLY)ipro1000
|
||||||
|
@ -349,14 +349,14 @@ public:
|
|||||||
~DeviceTreeIterator()
|
~DeviceTreeIterator()
|
||||||
{
|
{
|
||||||
if (fParent != NULL)
|
if (fParent != NULL)
|
||||||
fDeviceManager->put_device_node(fParent);
|
fDeviceManager->put_node(fParent);
|
||||||
if (fNode != NULL)
|
if (fNode != NULL)
|
||||||
fDeviceManager->put_device_node(fNode);
|
fDeviceManager->put_node(fNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Rewind()
|
void Rewind()
|
||||||
{
|
{
|
||||||
fNode = fDeviceManager->get_root();
|
fNode = fDeviceManager->get_root_node();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HasNext() const
|
bool HasNext() const
|
||||||
@ -364,38 +364,38 @@ public:
|
|||||||
return (fNode != NULL);
|
return (fNode != NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
device_node_handle Next()
|
device_node *Next()
|
||||||
{
|
{
|
||||||
if (fNode == NULL)
|
if (fNode == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
device_node_handle foundNode = fNode;
|
device_node *foundNode = fNode;
|
||||||
|
|
||||||
// get first child
|
// get first child
|
||||||
device_node_handle child = NULL;
|
device_node *child = NULL;
|
||||||
if (fDeviceManager->get_next_child_device(fNode, &child, NULL)
|
if (fDeviceManager->get_next_child_node(fNode, NULL, &child)
|
||||||
== B_OK) {
|
== B_OK) {
|
||||||
// move to the child node
|
// move to the child node
|
||||||
if (fParent != NULL)
|
if (fParent != NULL)
|
||||||
fDeviceManager->put_device_node(fParent);
|
fDeviceManager->put_node(fParent);
|
||||||
fParent = fNode;
|
fParent = fNode;
|
||||||
fNode = child;
|
fNode = child;
|
||||||
|
|
||||||
// no more children; backtrack to find the next sibling
|
// no more children; backtrack to find the next sibling
|
||||||
} else {
|
} else {
|
||||||
while (fParent != NULL) {
|
while (fParent != NULL) {
|
||||||
if (fDeviceManager->get_next_child_device(fParent, &fNode, NULL)
|
if (fDeviceManager->get_next_child_node(fParent, NULL, &fNode)
|
||||||
== B_OK) {
|
== B_OK) {
|
||||||
// get_next_child_device() always puts the node
|
// get_next_child_node() always puts the node
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
fNode = fParent;
|
fNode = fParent;
|
||||||
fParent = fDeviceManager->get_parent(fNode);
|
fParent = fDeviceManager->get_parent_node(fNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we hit the root node again, we're done
|
// if we hit the root node again, we're done
|
||||||
if (fParent == NULL) {
|
if (fParent == NULL) {
|
||||||
fDeviceManager->put_device_node(fNode);
|
fDeviceManager->put_node(fNode);
|
||||||
fNode = NULL;
|
fNode = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -405,8 +405,8 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
device_manager_info *fDeviceManager;
|
device_manager_info *fDeviceManager;
|
||||||
device_node_handle fNode;
|
device_node *fNode;
|
||||||
device_node_handle fParent;
|
device_node *fParent;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -444,13 +444,13 @@ get_interrupt_controller_modules(PICModuleList &list)
|
|||||||
|
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
probe_pic_device(device_node_handle node, PICModuleList &picModules)
|
probe_pic_device(device_node *node, PICModuleList &picModules)
|
||||||
{
|
{
|
||||||
for (PICModule *module = picModules.Head();
|
for (PICModule *module = picModules.Head();
|
||||||
module;
|
module;
|
||||||
module = picModules.GetNext(module)) {
|
module = picModules.GetNext(module)) {
|
||||||
bool noConnection;
|
//bool noConnection;
|
||||||
if (module->module->info.supports_device(node, &noConnection) > 0) {
|
if (module->module->info.supports_device(node) > 0) {
|
||||||
if (module->module->info.register_device(node) == B_OK)
|
if (module->module->info.register_device(node) == B_OK)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -484,29 +484,32 @@ arch_int_init_post_device_manager(struct kernel_args *args)
|
|||||||
|
|
||||||
// iterate through the device tree and probe the interrupt controllers
|
// iterate through the device tree and probe the interrupt controllers
|
||||||
DeviceTreeIterator iterator(deviceManager);
|
DeviceTreeIterator iterator(deviceManager);
|
||||||
while (device_node_handle node = iterator.Next())
|
while (device_node *node = iterator.Next())
|
||||||
probe_pic_device(node, picModules);
|
probe_pic_device(node, picModules);
|
||||||
|
|
||||||
// iterate through the tree again and get an interrupt controller node
|
// iterate through the tree again and get an interrupt controller node
|
||||||
iterator.Rewind();
|
iterator.Rewind();
|
||||||
while (device_node_handle node = iterator.Next()) {
|
while (device_node *node = iterator.Next()) {
|
||||||
char *deviceType;
|
const char *deviceType;
|
||||||
if (deviceManager->get_attr_string(node, B_DRIVER_DEVICE_TYPE,
|
if (deviceManager->get_attr_string(node, B_DEVICE_TYPE,
|
||||||
&deviceType, false) == B_OK) {
|
&deviceType, false) == B_OK) {
|
||||||
|
bool isPIC = false;
|
||||||
|
|
||||||
|
/*
|
||||||
bool isPIC
|
bool isPIC
|
||||||
= (strcmp(deviceType, B_INTERRUPT_CONTROLLER_DRIVER_TYPE) == 0);
|
= (strcmp(deviceType, B_INTERRUPT_CONTROLLER_DRIVER_TYPE) == 0);
|
||||||
free(deviceType);
|
free(deviceType);
|
||||||
|
*/
|
||||||
|
|
||||||
if (isPIC) {
|
if (isPIC) {
|
||||||
driver_module_info *driver;
|
driver_module_info *driver;
|
||||||
void *driverCookie;
|
void *driverCookie;
|
||||||
error = deviceManager->init_driver(node, NULL, &driver,
|
|
||||||
&driverCookie);
|
deviceManager->get_driver(node, (driver_module_info **)&driver, (void **)&driverCookie);
|
||||||
if (error == B_OK) {
|
|
||||||
sPIC = (interrupt_controller_module_info *)driver;
|
sPIC = (interrupt_controller_module_info *)driver;
|
||||||
sPICCookie = driverCookie;
|
sPICCookie = driverCookie;
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user