
ASPEED BMC AHB इंटरफ़ेस के लिए निम्न-स्तरीय हार्डवेयर डिबगिंग और सुरक्षा मूल्यांकन उपकरण। प्लेटफ़ॉर्म सुरक्षा परीक्षण के लिए फ़र्मवेयर, RAM और BMC मेमोरी को पढ़ने/लिखने के लिए PCIe, LPC और UART इंटरफ़ेस की जाँच करता है।
यदि आप अपने लक्ष्य मशीन के संदर्भ में इस उपकरण के व्यवहार को नहीं समझते हैं, तो इसका उपयोग न करें।
यह उपकरण आपकी मशीन के निम्न-स्तरीय हार्डवेयर और फर्मवेयर इंटरफेस पर प्रहार करता है। विशेष रूप से, जांचने की क्रिया का अर्थ है अनिश्चितता कि यदि लक्ष्य उपकरण वह नहीं है जिसे हम खोजने की उम्मीद कर रहे थे, तो इसके परिणाम क्या होंगे।
इस उपकरण के उपयोग से लक्ष्य मशीन में अस्थिरता, क्रैश या गंभीर विफलता हो सकती है।
ASPEED BMC में संचालन के कई अप्रत्यक्ष तरीके हैं:
1 और 2 को प्रदान करने के लिए, BMC अपने कई स्लेव इंटरफेस पर ऐसी सुविधाएँ उजागर करता है जो होस्ट को BMC के अंदर पहुँचने और उसके भौतिक पता स्थान में मनमाने संचालन करने की अनुमति देती हैं।
महत्वपूर्ण इंटरफेस PCIe और LPC बसों दोनों पर स्थित होते हैं, क्योंकि किसी दिए गए प्लेटफ़ॉर्म डिज़ाइन में होस्ट CPU से कोई भी कनेक्ट नहीं हो सकता है।
मोड 3 भी आमतौर पर उपयोग किया जाता है, लेकिन AST2400 और AST2500 के लिए हार्डवेयर कोल्ड बूट पर मोड 1 और 2 के लिए कॉन्फ़िगर किया जाता है। इस प्रकार BMC फर्मवेयर डेवलपर्स पर यह जिम्मेदारी है कि वे सुनिश्चित करें कि सभी इंटरफेस सुरक्षित हैं, यदि वे BMC के आराम-डेटा और रनटाइम वातावरण की गोपनीयता, अखंडता और उपलब्धता बनाए रखना चाहते हैं।
PCIe VGA P2A: एक PCIe MMIO इंटरफ़ेस जो 64 kiB की स्लाइडिंग विंडो के माध्यम से मनमानी AHB पहुँच प्रदान करता है
iLPC2AHB: एक SuperIO तार्किक उपकरण जो मनमानी AHB पहुँच प्रदान करता है
डिबग UART: एक हार्डवेयर-प्रदत्त UART डिबग शेल जो मनमानी AHB पहुँच के साथ है
X-DMA: मनमानी M-Bus पहुँच
PCIe BMC उपकरण: स्थिर PCIe MMIO इंटरफेस का एक संग्रह जो 4 kiB विंडो के माध्यम से प्रतिबंधित AHB पहुँच प्रदान करता है
LPC2AHB: AHB पर LPC FW चक्रों का BMC-नियंत्रित मानचित्रण
वर्तमान में P2A, iLPC2AHB, LPC2AHB और डिबग UART इंटरफेस के उपयोग का समर्थन करता है
किसी भी उपलब्ध इंटरफेस पर सभी इंटरफेस की उपलब्धता की जाँच करता है
होस्ट से इन-बैंड BMC कंसोल
होस्ट से चल रहे BMC के फर्मवेयर को रीफ़्लैश या डंप करें
BMC RAM पढ़ें और लिखें
BMC पर ही निष्पादन के लिए Linux /dev/mem इंटरफ़ेस का भी समर्थन करता है
यह उपकरण कई आर्किटेक्चर के लिए संकलित होता है, और कम से कम निम्नलिखित का परीक्षण किया गया है:
निर्माण make जारी करने का मामला है, जबकि क्रॉस संकलन मेक वातावरण में CROSS_COMPILE सेट करके किया जाता है, जैसे:
$ make CROSS_COMPILE=powerpc64le-linux-gnu-
$ ./doit
Not enough arguments
Usage:
./doit probe [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit ilpc read ADDRESS
./doit ilpc write ADDRESS VALUE
./doit p2a vga read ADDRESS
./doit p2a vga write ADDRESS VALUE
./doit debug read ADDRESS INTERFACE [IP PORT USERNAME PASSWORD]
./doit debug write ADDRESS VALUE INTERFACE [IP PORT USERNAME PASSWORD]
./doit devmem read ADDRESS
./doit devmem write ADDRESS VALUE
./doit console HOST_UART BMC_UART BAUD USER PASSWORD
./doit read firmware
./doit read ram
./doit write firmware
./doit replace ram MATCH REPLACE
./doit reset TYPE [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit sfc fmc read ADDRESS LENGTH [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit sfc fmc erase ADDRESS LENGTH [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit sfc fmc write ADDRESS LENGTH [INTERFACE [IP PORT USERNAME PASSWORD]]
$ ./doit probe --require confidentiality digi,portserver-ts-16 <IP> <PORT> <USER> <PASSWORD>
Connecting to Digi Portserver TS 16 at <IP>:23
Logging into Digi Portserver TS
Configuring binary mode on port 4
Resetting port 4
Connecting to BMC console at <IP>:2104
Entering debug mode
Initialised Debug UART AHB interface
Performing interface discovery via Debug UART
Exiting debug mode
Have SuperIO: Yes
iLPC2AHB Bridge: Read-only
Have VGA PCIe device: Yes
Have MMIO on VGA device: Yes
P2A write filter state:
0x00000000-0x0fffffff (Firmware): Read-write
0x10000000-0x1fffffff (SoC IO): Read-write
0x20000000-0x3fffffff (Flashes): Read-write
0x40000000-0x5fffffff (Reserved): Read-write
0x60000000-0x7fffffff (LPC Host): Read-write
0x80000000-0xffffffff (DRAM): Read-write
Have X-DMA on VGA device: Yes
Have BMC PCIe device: No
X-DMA is unconstrained: No
Have debug UART: Yes
Debug UART enabled on: UART5
$ echo $?
1
$