http://bugs.winehq.org/show_bug.cgi?id=20012
Summary: Implement HalGetBusDataByOffset for the PCIConfiguration BusDataType Product: Wine Version: 1.1.29 Platform: PC URL: http://rh-software.com/ OS/Version: Linux Status: UNCONFIRMED Severity: trivial Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: ray@pobox.co.uk
Created an attachment (id=23551) --> (http://bugs.winehq.org/attachment.cgi?id=23551) Scren capture showing example code working
With the fix http://bugs.winehq.org/show_bug.cgi?id=19966 SIV (http://rh-software.com/) no longer crashes when run under Wine, however none of the PCI Bus reporting actually works. As an experiment I wrote some code to read the PCI confutation data from "/sys/bus/pci/devices/0000:bb:dd.f/config" where bb:dd:f are the Bus, Device and Function numbers (the Device and Function are bits 7...3 and 2...0 of the slot number. The attached screen shot you can see I was able to read the data what HalGetBusDataByOffset() should return. I actually did this using the Windows API functions using the following code: if( ( fhl = CreateFile( file_name, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL ) ) != INVALID_HANDLE_VALUE ) { if( ReadFile( fhl, data, sizeof( data ) &len, NULL ) ) { ... } CloseHandle( fhl ); but I would expect the Unix/Linux Native API should be used were this to be implemented. I am concerned that different Unix/Linux systems may have different device names, but looking at the lspci source there seems to be a pci library to address this. I could try and work-a-round this within SIV, but as SIV would probably not be able to use the Unix/Linux pci library that solution would be less portable than implementing a solution within HalGetBusDataByOffset() within Wine. For systems where this data could not be returned then the current return of 0 (PCI Bus does not exist) would be made. Note that in the case of the Bus existing and the slot being empty a return of 2 is expected.
http://bugs.winehq.org/show_bug.cgi?id=20012
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |nerv@dawncrow.de Ever Confirmed|0 |1 Severity|trivial |enhancement
--- Comment #1 from André H. nerv@dawncrow.de 2009-09-13 06:30:57 --- HalGetBusDataByOffset returns 0 and that is meant to tell there is no PCI-Bus, so far thats correct. But implementing a listing of the pci-hardware that linux detects is an enhancement, as your app(or any other) doesnt depend on it.
http://bugs.winehq.org/show_bug.cgi?id=20012
--- Comment #2 from red-ray ray@pobox.co.uk 2009-09-13 08:07:43 --- (In reply to comment #1)
HalGetBusDataByOffset returns 0 and that is meant to tell there is no PCI-Bus, so far thats correct. But implementing a listing of the pci-hardware that linux detects is an enhancement, as your app(or any other) doesnt depend on it.
What you say would be correct if there was no PCI Bus on the host, but there are PCI buses on must hosts and therefor reporting there not I consider incorrect, hence it's a trivial fix.
http://bugs.winehq.org/show_bug.cgi?id=20012
--- Comment #3 from André H. nerv@dawncrow.de 2009-09-13 08:12:02 --- as your app works without it its an enhancement IMO. if your app really should detect every single information of the system even on linux, you might make it a winelib app and call the nativ linuxfunctions. you can take a look at http://www.winehq.org/docs/winelib-guide/index
http://bugs.winehq.org/show_bug.cgi?id=20012
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|enhancement |minor
http://bugs.winehq.org/show_bug.cgi?id=20012
--- Comment #4 from red-ray ray@pobox.co.uk 2009-09-17 10:48:10 --- The following code works well to decide is the bus exists.
stprintf( nam, TEXT( "/sys/bus/pci/devices/0000:%02x:*" ), bus );
if( ( dhl = FindFirstFile( nam , wfd ) ) != INVALID_HANDLE_VALUE ) { FindClose( dhl ); return 2; }
return 0;
http://bugs.winehq.org/show_bug.cgi?id=20012
ray@pobox.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ray@pobox.co.uk
http://bugs.winehq.org/show_bug.cgi?id=20012
--- Comment #5 from Austin English austinenglish@gmail.com 2013-11-13 16:51:03 CST --- This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.6 or newer) wine? If so, please attach the terminal output in 1.7.6 (see http://wiki.winehq.org/FAQ#get_log).
https://bugs.winehq.org/show_bug.cgi?id=20012
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |ABANDONED
--- Comment #6 from Austin English austinenglish@gmail.com --- Abandoned.
https://bugs.winehq.org/show_bug.cgi?id=20012
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Austin English austinenglish@gmail.com --- Closing.