Ticket #6350: early-acpi-support.r2.diff
File early-acpi-support.r2.diff, 5.4 KB (added by , 14 years ago) |
---|
-
src/apps/devices/Device.cpp
32 32 "Satellite communications controller", // 0x0f 33 33 "Encryption controller", // 0x10 34 34 "Signal processing controller", // 0x11 35 "Computer" // 0x12 (added later) 35 "Computer", // 0x12 (added later) 36 "ACPI controller" // 0x13 (added later) 36 37 }; 37 38 38 39 -
src/apps/devices/DeviceACPI.h
1 /* 2 * Copyright 2008-2010 Haiku Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Alexander von Gluck (kallisti5) 7 */ 8 #ifndef DEVICEACPI_H 9 #define DEVICEACPI_H 10 11 12 #include "Device.h" 13 14 15 class DeviceACPI : public Device { 16 public: 17 DeviceACPI(Device* parent); 18 virtual ~DeviceACPI(); 19 virtual Attributes GetBusAttributes(); 20 virtual BString GetBusStrings(); 21 virtual void InitFromAttributes(); 22 23 virtual BString GetBusTabName() 24 { return "ACPI Information"; } 25 }; 26 27 #endif /* DEVICEACPI_H */ -
src/apps/devices/Device.h
24 24 BUS_ISA = 1, 25 25 BUS_PCI, 26 26 BUS_SCSI, 27 BUS_ACPI, 27 28 BUS_NONE 28 29 } BusType; 29 30 … … 45 46 typedef enum { 46 47 CAT_NONE = 0, 47 48 CAT_BUS = 6, 48 CAT_COMPUTER = 0x12 49 CAT_COMPUTER = 0x12, 50 CAT_ACPI = 0x13 49 51 } Category; 50 52 51 53 -
src/apps/devices/DevicesView.cpp
277 277 // Determine what type of device it is and create it 278 278 for (unsigned int i = 0; i < attributes.size(); i++) { 279 279 // Devices Root 280 if (attributes[i].fName == "device/pretty name"280 if (attributes[i].fName == B_DEVICE_PRETTY_NAME 281 281 && attributes[i].fValue == "Devices Root") { 282 282 newDevice = new Device(parent, BUS_NONE, CAT_COMPUTER, "Computer"); 283 283 break; 284 284 } 285 285 286 // ACPI Controller 287 if (attributes[i].fName == B_DEVICE_PRETTY_NAME 288 && attributes[i].fValue == "ACPI") { 289 newDevice = new Device(parent, BUS_ACPI, CAT_BUS, "ACPI Controller"); 290 break; 291 } 292 286 293 // PCI bus 287 if (attributes[i].fName == "device/pretty name"294 if (attributes[i].fName == B_DEVICE_PRETTY_NAME 288 295 && attributes[i].fValue == "PCI") { 289 296 newDevice = new Device(parent, BUS_PCI, CAT_BUS, "PCI bus"); 290 297 break; 291 298 } 292 299 293 300 // ISA bus 294 if (attributes[i].fName == "device/bus"301 if (attributes[i].fName == B_DEVICE_BUS 295 302 && attributes[i].fValue == "isa") { 296 303 newDevice = new Device(parent, BUS_ISA, CAT_BUS, "ISA bus"); 297 304 break; … … 303 310 newDevice = new DevicePCI(parent); 304 311 break; 305 312 } 313 314 // ACPI device 315 if (attributes[i].fName == B_DEVICE_BUS 316 && attributes[i].fValue == "acpi") { 317 newDevice = new DeviceACPI(parent); 318 break; 319 } 306 320 } 307 321 308 322 if (newDevice == NULL) { -
src/apps/devices/DevicesView.h
26 26 27 27 #include "Device.h" 28 28 #include "DevicePCI.h" 29 #include "DeviceACPI.h" 29 30 #include "PropertyList.h" 30 31 #include "PropertyListPlain.h" 31 32 -
src/apps/devices/Jamfile
65 65 DevicesView.cpp 66 66 dm_wrapper.c 67 67 DevicePCI.cpp 68 DeviceACPI.cpp 68 69 Device.cpp 69 70 PropertyList.cpp 70 71 PropertyListPlain.cpp -
src/apps/devices/DeviceACPI.cpp
1 /* 2 * Copyright 2008-2010 Haiku Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Alexander von Gluck (kallisti5) 7 */ 8 9 10 #include <sstream> 11 #include <stdlib.h> 12 13 #include "DeviceACPI.h" 14 15 16 DeviceACPI::DeviceACPI(Device* parent) 17 : 18 Device(parent) 19 { 20 } 21 22 23 DeviceACPI::~DeviceACPI() 24 { 25 } 26 27 28 void 29 DeviceACPI::InitFromAttributes() 30 { 31 SetAttribute("Device name", "ACPI node"); 32 SetAttribute("Manufacturer", "Not implimented"); 33 fCategory = (Category)CAT_ACPI; 34 35 BString outlineName; 36 outlineName = "ACPI node"; 37 38 // TODO: Check ACPI paths and document a few 'special' paths via outlineName 39 // (Predefined root namespaces) (ACPI Spec 4.0a, p162) 40 // _SB_ = ACPI System Bus 41 // _TZ_ = ACPI Thermal Zone 42 // _PR_ = ACPI Processor Namespace 43 // _SI_ = ACPI System Indicator 44 45 SetText(outlineName.String()); 46 } 47 48 49 Attributes 50 DeviceACPI::GetBusAttributes() 51 { 52 // Push back things that matter for ACPI 53 Attributes attributes; 54 attributes.push_back(GetAttribute("device/bus")); 55 attributes.push_back(GetAttribute("acpi/path")); 56 attributes.push_back(GetAttribute("acpi/type")); 57 return attributes; 58 } 59 60 61 BString 62 DeviceACPI::GetBusStrings() 63 { 64 BString str; 65 str << "Class Info:\t\t\t\t: " << fAttributeMap["Class Info"]; 66 return str; 67 }