1 /* 2 * Copyright 2006-2008, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Axel Dörfler, axeld@pinc-software.de 7 */ 8 #ifndef INTEL_EXTREME_PRIVATE_H 9 #define INTEL_EXTREME_PRIVATE_H 10 11 12 #include <AGP.h> 13 #include <KernelExport.h> 14 #include <PCI.h> 15 16 #include "intel_extreme.h" 17 #include "lock.h" 18 19 20 struct intel_info { 21 int32 open_count; 22 status_t init_status; 23 int32 id; 24 pci_info* pci; 25 addr_t aperture_base; 26 aperture_id aperture; 27 uint8* registers; 28 area_id registers_area; 29 struct intel_shared_info* shared_info; 30 area_id shared_area; 31 32 struct overlay_registers* overlay_registers; 33 34 bool fake_interrupts; 35 36 const char* device_identifier; 37 DeviceType device_type; 38 }; 39 40 extern status_t intel_free_memory(intel_info& info, addr_t offset); 41 extern status_t intel_allocate_memory(intel_info& info, size_t size, 42 size_t alignment, uint32 flags, addr_t* _offset, 43 phys_addr_t* _physicalBase = NULL); 44 extern status_t intel_extreme_init(intel_info& info); 45 extern void intel_extreme_uninit(intel_info& info); 46 47 #endif /* INTEL_EXTREME_PRIVATE_H */ 48