1 /* 2 * Copyright 2006-2007, 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 <KernelExport.h> 13 #include <PCI.h> 14 15 #include "intel_extreme.h" 16 #include "lock.h" 17 18 19 struct intel_info { 20 int32 open_count; 21 status_t init_status; 22 int32 id; 23 pci_info *pci; 24 uint8 *registers; 25 area_id registers_area; 26 struct intel_shared_info *shared_info; 27 area_id shared_area; 28 29 uint32 overlay_handle; 30 uint32 overlay_offset; 31 struct overlay_registers *overlay_registers; 32 // update buffer, shares an area with shared_info 33 34 uint8 *gtt_base; 35 size_t gtt_size; 36 area_id gtt_area; 37 uint8 *graphics_memory; 38 area_id graphics_memory_area; 39 area_id additional_memory_area; 40 // allocated memory beyond the "stolen" amount 41 mem_info *memory_manager; 42 43 bool fake_interrupts; 44 45 const char *device_identifier; 46 uint32 device_type; 47 }; 48 49 extern status_t intel_extreme_init(intel_info &info); 50 extern void intel_extreme_uninit(intel_info &info); 51 52 #endif /* INTEL_EXTREME_PRIVATE_H */ 53