Author: kallisti5 Date: 2011-03-26 17:19:25 +0100 (Sat, 26 Mar 2011) New Revision: 41112 Changeset: https://dev.haiku-os.org/changeset/41112 Added: haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.cpp haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.h Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile haiku/trunk/src/add-ons/accelerants/radeon_hd/atombios/Jamfile Log: add first accelerant atombios wrapper sources, atombios is now accessible from accelerant; atombios calls PCI register read/write routines from the main accelerant that need implimented, thus bios.cpp is disabled atm... going to be tricky Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile =================================================================== --- haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile 2011-03-26 15:05:41 UTC (rev 41111) +++ haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile 2011-03-26 16:19:25 UTC (rev 41112) @@ -12,6 +12,7 @@ engine.cpp hooks.cpp mode.cpp +# bios.cpp : be libaccelerantscommon.a atombios.a ; Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/atombios/Jamfile =================================================================== --- haiku/trunk/src/add-ons/accelerants/radeon_hd/atombios/Jamfile 2011-03-26 15:05:41 UTC (rev 41111) +++ haiku/trunk/src/add-ons/accelerants/radeon_hd/atombios/Jamfile 2011-03-26 16:19:25 UTC (rev 41112) @@ -6,6 +6,8 @@ UsePrivateHeaders [ FDirName graphics common ] ; DEFINES += DISABLE_EASF ; +DEFINES += DRIVER_PARSER ; +DEFINES += ENABLE_ALL_SERVICE_FUNCTIONS ; # To avoid changing AMD vendor sources TARGET_WARNING_CCFLAGS = [ FFilter $(TARGET_WARNING_CCFLAGS) @@ -15,4 +17,5 @@ StaticLibrary atombios.a : Decoder.c CD_Operations.c + hwserv_drv.c ; Added: haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.cpp =================================================================== --- haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.cpp (rev 0) +++ haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.cpp 2011-03-26 16:19:25 UTC (rev 41112) @@ -0,0 +1,56 @@ +/* + * Copyright 2011, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Alexander von Gluck IV, kallisti5@xxxxxxxxxxx + */ + + +#include <Debug.h> + +#include "bios.h" + +#include "accelerant.h" +#include "accelerant_protos.h" + + +#undef TRACE + +#define TRACE_ATOM +#ifdef TRACE_ATOM +# define TRACE(x) _sPrintf x +#else +# define TRACE(x) ; +#endif + + +status_t +AtomBiosParser(void *pspace, uint8_t index, void *handle, void *BIOSBase) +{ + DEVICE_DATA deviceData; + + deviceData.pParameterSpace = (UINT32*)pspace; + deviceData.CAIL = handle; + deviceData.pBIOS_Image = (UINT8*)BIOSBase; + deviceData.format = TABLE_FORMAT_BIOS; + + switch (ParseTable(&deviceData, index)) { + case CD_SUCCESS: + TRACE(("%s: CD_SUCCESS : success\n", __FUNCTION__)); + return B_OK; + break; + case CD_CALL_TABLE: + TRACE(("%s: CD_CALL_TABLE : success\n", __FUNCTION__)); + return B_OK; + break; + case CD_COMPLETED: + TRACE(("%s: CD_COMPLETED : success\n", __FUNCTION__)); + return B_OK; + break; + default: + TRACE(("%s: UNKNOWN ERROR\n", __FUNCTION__)); + } + return B_ERROR; +} + Added: haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.h =================================================================== --- haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.h (rev 0) +++ haiku/trunk/src/add-ons/accelerants/radeon_hd/bios.h 2011-03-26 16:19:25 UTC (rev 41112) @@ -0,0 +1,17 @@ +/* + * Copyright 2011, Haiku, Inc. All Rights Reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Alexander von Gluck IV, kallisti5@xxxxxxxxxxx + */ + + +#include <stdint.h> + +// AtomBios includes +extern "C" { +#include "CD_Common_Types.h" +#include "CD_Definitions.h" +#include "atombios.h" +}