24d2d56c | 14-Jul-2019 |
Deepak Kumar Sahu <deepakx.sahu@intel.com> |
bridgingcommands:move get&send commands to new api
Rewrite get and send message commands to use new IPMI provider API.
Tested: verified ipmitool get and send message command, is same both before an
bridgingcommands:move get&send commands to new api
Rewrite get and send message commands to use new IPMI provider API.
Tested: verified ipmitool get and send message command, is same both before and after the changes 1. Enter in Manufacturing mode by executing below command Command: ipmitool raw 0x30 0xB4 3 2 Response: //Success
2. Send message command Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 06 2C D3 01 FC FC 04 00 2C FC 08 C1 13 Response: 00 00 00 00 00 00 //Success
3. Get message command Commad: FS0:\cmdtool\> cmdtool.efi 20 18 33 Response: 00 FC FC D4 30 2C FC 04 C1 13
Negative Test cases: Send Message Command: 1. // Encryption Enabled Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 26 2C D3 01 FC FC 04 00 2C FC 08 C1 13 Response: C9
2. // Authentication Enabled Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 16 2C D3 01 FC FC 04 00 2C FC 08 C1 13 Response: C9
3. // Channel other than IPMB and Lan Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 07 2C D3 01 FC FC 04 00 2C FC 08 C1 13 Response: C9
4. // IPMB data length Invalid: Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 06 2C Response: C7
5. // IPMB address invalid: Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 06 2B D3 01 FC FC 04 00 2C FC 08 C1 13 Response: C9
6. // Tracking = 2 and 3 (Tracking mode not supported) Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 86 2C D3 01 FC FC 04 00 2C FC 08 C1 13 Response: C9
Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 C6 2C D3 01 FC FC 04 00 2C FC 08 C1 13 Response: C9
7. // IPMB frame invalid: Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 06 2C D3 01 FC FC 04 00 2C FC 08 C1 12 Response: C9
8. // Response queue max size: (After doing multiple send) Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 06 2C D3 01 FC FC 04 00 2C FC 08 C1 13 Response: C0
9. IPMB layer non zero status: Command: FS0:\cmdtool\> cmdtool.efi 20 18 34 06 2C D4 00 FB FC 04 00 2C FC 09 C1 13 Response: CE
Get Message Command: 10. // After booting, do Get Message command (Before send command) Command: FS0:\cmdtool\> cmdtool.efi 20 18 33 Response: 80
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Signed-off-by: Deepak Kumar Sahu <deepakx.sahu@intel.com> Change-Id: I2a4028dbe889a0737821f95889c39e44254a12ca
show more ...
|
886a48a9 | 13-May-2020 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: replace message::variant with std::variant
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3ca37b91268fdbd8579d92d293997a3d49258a87 |
899bfd15 | 15-Apr-2020 |
Chalapathi <chalapathix.venkataramashetty@intel.com> |
OemCommands: Update biosObjPath to match Settings
Update biosObjPath to /xyz/openbmc_project/software/bios_active.
Tested: 1. Verified the BIOS version in Redfish with this change. Request: GET: ht
OemCommands: Update biosObjPath to match Settings
Update biosObjPath to /xyz/openbmc_project/software/bios_active.
Tested: 1. Verified the BIOS version in Redfish with this change. Request: GET: https://<BMC_IP>/redfish/v1/UpdateService/FirmwareInventory/ bios_active
Response: { "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/ bios_active", "@odata.type": "#SoftwareInventory.v1_1_0.SoftwareInventory", "Description": "Host image", "Id": "bios_active", "Members@odata.count": 1, "Name": "Software Inventory", "RelatedItem": [ { "@odata.id": "/redfish/v1/Systems/system/Bios" } ], "Status": { "Health": "OK", "HealthRollup": "OK", "State": "Enabled" }, "Updateable": false, "Version": "WLYDCRB1.SYS.0015.D33.2002210105" }
2. Get OEM Device info. Command: ipmitool raw 0x30 0x27 0x00 0xFF 0x00 Response: 20 57 4c 59 44 43 52 42 31 2e 53 59 53 2e 30 30 31 35 2e 44 33 33 2e 32 30 30 32 32 31 30 31 30 35 ASCII - WLYDCRB1.SYS.0015.D33.2002210105
Signed-off-by: Chalapathi <chalapathix.venkataramashetty@intel.com> Change-Id: I719f14b6b7679e4386ef449adfb3d4e65b16f30f
show more ...
|
d2220ccd | 17-Apr-2020 |
Agnieszka Szlendak <agnieszka.szlendak@intel.com> |
Translating ME Health Sensor Platform Events to Redfish Events
Following code implements parsing logic for all ME Health Sensor Platform Events. It is built in similar manner to existing implementat
Translating ME Health Sensor Platform Events to Redfish Events
Following code implements parsing logic for all ME Health Sensor Platform Events. It is built in similar manner to existing implementation of BIOS SEL events parsing and follows the same principles: - try to parse event, store id and params as Redfish Event on success, - if event is unparsable - store raw IPMI frame as generic SEL event.
As there exists many events which would share exactly the same parsing logic, some higher level function (genericMessageHook) and some helper functions were introduced. Idea of this is that for events which are easily parsable (like mapping byte to concrete event) should be handled by metadata-driven algorithm. For more complex events ability to specify lower-level parser methods was introduced.
In general flow looks like the following: 1) event is recognized as originating from ME, me::messageHook is called 2) event comes from me::HealthSensor, health_event::messageHook is called 3) based on Platform Event offset byte either fw_status or smbus_failure event messageHook is called 4a) for smbus_failure : simple function called
.....
4b) for fw_status: map is used, deciding further processing based on event.eventData2 5) map[event.eventData2] contains : MessageId and instructions on further processing. It might be: a) empty - no extra processing, b) map - maps eventData3 to string value and adds it to MessageParams, b) function - specialized parsing routines for given eventData2.
Testing: - injected all possible events with busctl call (faking ME) - tested on actual platform with manually triggered events by actual ME
Signed-off-by: Agnieszka Szlendak <Agnieszka.Szlendak@intel.com> Change-Id: Ib13e4ace10b6382ea0800d34241e98a73b6626b3
show more ...
|
2b664d5a | 23-Mar-2020 |
Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> |
Add slot ipmb command
Added slot ipmb command which is used to send commands to add-in cards. BMC will act as a bridge and forwards the data to the add-in card and returns the response from the add-
Add slot ipmb command
Added slot ipmb command which is used to send commands to add-in cards. BMC will act as a bridge and forwards the data to the add-in card and returns the response from the add-in card.
Tested:
ipmitool raw 0x3e 0x51 <address_type> <slot_num> <slave_addr> <net_fun> <cmd> 00 //success
ipmitool raw 0x3e 0x51 <address_type> <invalid_slot_num> <slave_addr> <net_fun> <cmd> 0xce //Command response could not be provided
ipmitool raw 0x3e 0x51 <address_type> <slot_num> <invalid_slave_addr> <net_fun> <cmd> 0xce //Command response could not be provided
Tested the command from the shell using cmdtool via KCS interface and it works fine.
Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> Change-Id: Ic772e169569ee91328315a02633089d3894e1b0f
show more ...
|
32825a23 | 17-Jan-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Get ME version using functional association
Get ME version by checking the functional association endpoints. Firmware versions are now retrieved using identical methods.
Tested: Tested Get OEM Devi
Get ME version using functional association
Get ME version by checking the functional association endpoints. Firmware versions are now retrieved using identical methods.
Tested: Tested Get OEM Device info ipmi command and it works.
Change-Id: I6dda7fff52e1018e8cbd30718c5e1ab4ae2d3ed4 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
e99e7ed3 | 17-Jan-2020 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Implement generic function to get active versions
Current logic to get the Active BMC firmware version is not synchronizing with bmcweb code. To get the active firmware version, we are using functio
Implement generic function to get active versions
Current logic to get the Active BMC firmware version is not synchronizing with bmcweb code. To get the active firmware version, we are using functional association endpoints. Endpoints will provide all the functional firmware objects and we retrive version information depending on given version purpose(component). This is the same logic followed in redfish and with change, both ipmi and redfish pulls version with same logic.
Tested: - Get device id command works fine. - Get OEM Device information commands works fine.
Change-Id: I16ac2c52a4fadbffdc8c870cd738683435d56b1f Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
963a95b6 | 27-Jan-2020 |
Rashmi RV <rashmi.r.v@linux.intel.com> |
Corrected threshold readingmasks for Type01sensors
Issue: The upper and lower threshold reading mask(Byte 16,18) in SDR Type01 sensors are not set under any conditions.
Fix: Setting the threshold m
Corrected threshold readingmasks for Type01sensors
Issue: The upper and lower threshold reading mask(Byte 16,18) in SDR Type01 sensors are not set under any conditions.
Fix: Setting the threshold mask based on its respective threshold conditions.
Tested: 1.Issue Get SDR command for [u,l][c,nc] sensors. 2.Check theresponse for the bits 5,4 of Byte 16 and 18 (lower and upper) are set correctly for respective sensors.
Signed-off-by: Rashmi RV <rashmi.r.v@linux.intel.com> Change-Id: I119560b937bf24c0173acb72cb95aa56d3311314
show more ...
|
fee5e4c7 | 17-Jan-2020 |
Yong Li <yong.b.li@linux.intel.com> |
Add NM discovery SDR support
NM discovery is an Intel OEM SDR, it is used by external SW to check the NM functionality
Tested: ipmitool sdr dump sdr.bin The new added sdr is included at the end of
Add NM discovery SDR support
NM discovery is an Intel OEM SDR, it is used by external SW to check the NM functionality
Tested: ipmitool sdr dump sdr.bin The new added sdr is included at the end of the .bin file: 51 c0 0b 57 01 00 0d 01 2c 60 19 18 1a 1b
Signed-off-by: Yong Li <yong.b.li@linux.intel.com> Change-Id: I2b7e8059908791dcc6853be5ba2b9e22210eb736
show more ...
|
2569025e | 23-Dec-2019 |
James Feist <james.feist@linux.intel.com> |
Sensor list time improvements
A lot inefficient code was added since these commands were originally implemented. Fix the caches and add yield method calls where calls were expensive.
Tested: ipmito
Sensor list time improvements
A lot inefficient code was added since these commands were originally implemented. Fix the caches and add yield method calls where calls were expensive.
Tested: ipmitool sensor list for 104 sensors was 18 seconds over lan
Change-Id: I9ec2d42303839257629001f4cbb5cc1417989754 Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
ccf88f66 | 13-May-2019 |
jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
sensorcommands: move get sensor event status
Rewrite "Get sensor event status" cmd to new IPMI provider API
Tested: 1. verified ipmitool get sensor event status is same both before and after the ch
sensorcommands: move get sensor event status
Rewrite "Get sensor event status" cmd to new IPMI provider API
Tested: 1. verified ipmitool get sensor event status is same both before and after the changes Before: Command: ipmitool raw 0x04 0x2B 0x35 Response: 80 00 00 00 00 After: Command: ipmitool raw 0x04 0x2B 0x35 Response: 80 00 00 00 00
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I3f2bd7d7a77deae266acbd691326242930e021ef Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
ae13ac62 | 17-Dec-2019 |
Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> |
Fix: Ignore reverting for validation unsecure mode
Ignore reverting executed manufacturing command behavior when in validation unsecure mode. In that mode, just preserve the set value as such till B
Fix: Ignore reverting for validation unsecure mode
Ignore reverting executed manufacturing command behavior when in validation unsecure mode. In that mode, just preserve the set value as such till BMC is rebooted.
Tested: 1. Verified by setting a FAN to 100 % PWM and it stays even after 15 minutes as expected.
Change-Id: I426f69d129dab0b04571afd4fde043119bc5e26b Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
show more ...
|
2742b85c | 16-Dec-2019 |
Yong Li <yong.b.li@linux.intel.com> |
Change the bios version dbus interface to align with bmcweb
bmcweb uses the software interface for bios version query in redfish, to align with it, the settings service implements this interface, th
Change the bios version dbus interface to align with bmcweb
bmcweb uses the software interface for bios version query in redfish, to align with it, the settings service implements this interface, this reference needs to be changed too
Tested: AC cycle the system, then DC cycle the host, BiosVersion in redfish is the correct bios version: https://$BMCIP/redfish/v1/Systems/system
Signed-off-by: Yong Li <yong.b.li@linux.intel.com> Change-Id: I90d66d2f6c24779b09b694204fdbb5c1434f37d4
show more ...
|
17e21c20 | 18-Nov-2019 |
Josh Lehan <krellan@google.com> |
Correct calculations of IPMI coefficient math
Massively refactored and improved Using rounding, instead of truncation Mantissa as large as possible, for best precision Normalizing for consistent res
Correct calculations of IPMI coefficient math
Massively refactored and improved Using rounding, instead of truncation Mantissa as large as possible, for best precision Normalizing for consistent results Documenting, in comments, some of the magic that is done Now works correctly, for narrow ranges with large bias away from zero Now works correctly, for negative numbers and signed ranges Clamps values slightly out of range, instead of erroring
Matching update test cases to reflect new coefficient choices
Now generates output in a human-readable table Adding function from ipmitool for round-trip testing Testing 5 points within byte range for each value range Now handles both signed and unsigned Added many more value ranges that were recommended to me Changing some exponent values to reflect new choices Changing some mantissa values because now rounding not truncation The close range large bias test now succeeds instead of fails
Signed-off-by: Josh Lehan <krellan@google.com> Change-Id: I2ceaef581b1270ef19be97940dbab3b588f5768d
show more ...
|
98705b39 | 11-Sep-2019 |
anil kumar appana <anil.kumarx.appana@intel.com> |
manufacturingcmds: added intrusionsensor status
Modified appMTMGetSignal API to support intrusion sensor status.
Tested: Tested intrusion sensor status with ipmitool raw command
Command: ipmitool
manufacturingcmds: added intrusionsensor status
Modified appMTMGetSignal API to support intrusion sensor status.
Tested: Tested intrusion sensor status with ipmitool raw command
Command: ipmitool raw 0x30 0x14 0x04 0x00 0x00 Response: 01 //hardware Intrusion
Signed-off-by: anil kumar appana <anil.kumarx.appana@intel.com> Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I6a0cf6738dacbbaeece6a66d0264e870963bed5b
show more ...
|
405f54ac | 18-Oct-2019 |
jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> |
bridgingcommands:Move ClearMessageFlags to new API
Rewrite ipmiAppClearMessageFlags command to use the newly introduced IPMI provider API.
Tested: Verified using ipmitool ClearMessageFlags behavior
bridgingcommands:Move ClearMessageFlags to new API
Rewrite ipmiAppClearMessageFlags command to use the newly introduced IPMI provider API.
Tested: Verified using ipmitool ClearMessageFlags behavior is same before and after the changes.
Command : ipmitool raw 0x06 0x31 //Get Message Flags Response: 02
Command : ipmitool raw 0x06 0x30 0x00 //Clear Message Flags Response:
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> Change-Id: I8c03050332408e909ab61994f337cfa2c1c036a4
show more ...
|
28972063 | 10-Nov-2019 |
AppaRao Puli <apparao.puli@linux.intel.com> |
Firmware update commmands re-write
Firmware update commands re-write * Updated to new API style * Coding guidelines for all names * Restricted few commands for PFR * Few updates as per new OpenB
Firmware update commmands re-write
Firmware update commands re-write * Updated to new API style * Coding guidelines for all names * Restricted few commands for PFR * Few updates as per new OpenBMC EPS * Changes for fw update status * Removed legacy API's used for FW update
Tested: - Tested firmware update using fwpiaupd.efi tool in usb and kcs trasfer mode. - Tested all firmware update commands over LAN.
Change-Id: I666cb139b2ca61d352e1cb6b1c18d045b7b1f197 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
show more ...
|
f945eee0 | 25-Sep-2019 |
anil kumar appana <anil.kumarx.appana@intel.com> |
oemcommands: move OEM set fan config to new API
Rewrite "OEM set Fan Config" command to use the newly introduced IPMI provider API.
Tested: verified using ipmitool OEM set fan config command
Comma
oemcommands: move OEM set fan config to new API
Rewrite "OEM set Fan Config" command to use the newly introduced IPMI provider API.
Tested: verified using ipmitool OEM set fan config command
Command: ipmitool raw 0x30 0x89 0x20 0x24 Response: Command: ipmitool raw 0x30 0x89 0x20 0xc0 //Acoustic mode Response: //Success Command: ipmitool raw 0x30 0x89 0x20 0xc4 //Performance mode Response: //Success
Change-Id: I6875e914f636a0048ff456589d303c7b1c709cac Signed-off-by: anil kumar appana <anil.kumarx.appana@intel.com> Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
show more ...
|
99d7d35f | 11-Nov-2019 |
Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> |
Allow mfg commands in validation unsecure mode
Execute all the manufacturing commands in validation unsecure mode, which will be available if validation-unsecure feature is enabled.
Tested: Depends
Allow mfg commands in validation unsecure mode
Execute all the manufacturing commands in validation unsecure mode, which will be available if validation-unsecure feature is enabled.
Tested: Depends on patch, which enables this flag based on validation-unsecure 1. Verified that features is enabled with validation-unsecure 2. Verified mfg commands are executed in both mfg & validation unsecure mode.
Change-Id: Id75086d9998b334d5d138ee8ebeade0fc305bc08 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
show more ...
|
8d4f8d73 | 11-Nov-2019 |
Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com> |
Update mfg mode query to D-Bus interface
Updated manufacturing mode query to be based on D-Bus interface instead of uint8_t as earlier. This is done to be in sync with common D-Bus interface
Tested
Update mfg mode query to D-Bus interface
Updated manufacturing mode query to be based on D-Bus interface instead of uint8_t as earlier. This is done to be in sync with common D-Bus interface
Tested: With updated special-mode-mgr daemon, which follows the D-Bus interface 1. Verified that manufacturing mode commands are executed as before, when in manufacturing mode.
Change-Id: I1828739751272b8d9151e2ab4a32c4861bbe90d7 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
show more ...
|
d872a4a4 | 14-Oct-2019 |
Ayushi Smriti <smriti.ayushi@linux.intel.com> |
Fix:set smsignal cmd results 0xcc for speaker param
For set sm signal cmd request byte 1, signal type 09h (speaker) gives 0xcc which is unexpected as speaker parameter is supported. This code provid
Fix:set smsignal cmd results 0xcc for speaker param
For set sm signal cmd request byte 1, signal type 09h (speaker) gives 0xcc which is unexpected as speaker parameter is supported. This code provides fix for the same by adding case for signal type 09h (speaker) in the set smsignal cmd implemetation.
Tested: Verified by executing set sm signal cmd which gives success cc
ipmitool raw 0x30 0x15 0x09 0x00 0x00 0x00
Change-Id: I5f4a3a49aab009c760cf069b5e3250e09704de27 Signed-off-by: Ayushi Smriti <smriti.ayushi@linux.intel.com>
show more ...
|
ee0e732c | 05-Nov-2019 |
Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> |
Fixed sensor value conversion issue.
While converting the sensor values as per sensor conversion formula (IPMI spec 36.3), some portion of the decimal value is discarded.
Fixed this issue.
Tested:
Fixed sensor value conversion issue.
While converting the sensor values as per sensor conversion formula (IPMI spec 36.3), some portion of the decimal value is discarded.
Fixed this issue.
Tested: // Get sensor treshold value ipmitool raw 0x04 0x27 0x3D 1b 27 26 00 2d 2f 00
// Set sensor treshold value ipmitool raw 0x04 0x26 0x3D 0x08 0x00 0x00 0x00 0xf0 0x00 0x00
// Get sensor treshold value ipmitool raw 0x04 0x27 0x3D 1b 27 26 00 f0 2f 00
Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> Change-Id: Ie560b038323b01bfa864a379d12f02d0c5a07d75
show more ...
|
c8864062 | 15-Oct-2019 |
Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> |
Updated Get Firmware Root Certficate data command
Updated IPMI Get Firmware Root Certficate data command(0x25) for PFR
This command works only for PFR enabled platforms.
Tested: - Enabled INTEL_P
Updated Get Firmware Root Certficate data command
Updated IPMI Get Firmware Root Certficate data command(0x25) for PFR
This command works only for PFR enabled platforms.
Tested: - Enabled INTEL_PFR_ENABLED flag and verified the below command ipmitool -I dbus raw 0x08 0x25 Returns proper data. - Disabled INTEL_PFR_ENABLED flag and verified Returns error.
Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@linux.intel.com> Change-Id: I8a6d0c939d26a8e8058dc35b26c6f78228ea8e5c
show more ...
|
f6a07837 | 29-Oct-2019 |
James Feist <james.feist@linux.intel.com> |
Fix negative readings
We were making negative values 0. This fixes the issue by converting using an int instead.
Tested: Tests pass
Change-Id: I389a90f52832f1a70b66fdddd8135c77011843a2 Signed-off-
Fix negative readings
We were making negative values 0. This fixes the issue by converting using an int instead.
Tested: Tests pass
Change-Id: I389a90f52832f1a70b66fdddd8135c77011843a2 Signed-off-by: James Feist <james.feist@linux.intel.com>
show more ...
|
262276f4 | 18-Oct-2019 |
Patrick Venture <venture@google.com> |
sensor SDRs: lookup Board to set IPMI info
Looks up the board object, if there is an association, and if that board object specifies an EntityId or EntityInstance, it will use those values in the SD
sensor SDRs: lookup Board to set IPMI info
Looks up the board object, if there is an association, and if that board object specifies an EntityId or EntityInstance, it will use those values in the SDR. If the configuration of the sensor also implements one or both of those properties, then those are used instead.
Tested: Validated if the json Board file has EntityId and EntityInstance, those values are used in the SDR. Validated if the configuration for the sensor has those values, then those are used instead. Verified it works in cases where these values are not set, etc.
Signed-off-by: Patrick Venture <venture@google.com> Change-Id: I998eff9b0145ede7b386041b35f488fa6dd6714f
show more ...
|