Age | Commit message (Collapse) | Author | Files | Lines |
|
Kernel crypto/hash API
CONFIG_CRYPTO_HMAC
CONFIG_CRYPTO_SHA256
CONFIG_CRYPTO_USER_API_HASH
The requirement can be found at
https://github.com/systemd/systemd/blob/master/README
This API is necessary for the UUID feature that you can
find the implementation in the bmcweb.
https://github.com/openbmc/bmcweb/blob/master/redfish-core/include/utils/systemd_utils.hpp
Refer https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/31523
but these were removed in https://gerrit.openbmc-project.xyz/c/openbmc/openbmc/+/41257
Signed-off-by: JunLin Chen <Jun-Lin.Chen@quantatw.com>
Change-Id: If2dcc552198da05837659a560871db9084e3da37
|
|
This change is a part of the privilege seperation work
which is tracked in:
https://github.com/openbmc/openbmc/issues/3383
This change should be merged after individual repo change:
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-certificate-manager/+/41166
Signed-off-by: Anton D. Kachalov <gmouse@google.com>
Change-Id: I72e4842e7aa6de2ae4bcbdbf00953b7a79a0f414
|
|
With a recent x86-power-control update, the json file to be parsed is
expected to have a "Polarity" field.
Add the same "Polarity" values for the existing fields.
Reference: https://github.com/openbmc/x86-power-control/commit/50937e7339db744f765efdc3cc58f3d0c5976601
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: Ia60a87de0d9e3e97dbb03b1f8fb4e9fba32f87a6
|
|
bitbake offers a choice of DEB, RPM or IPK packaging. To a degree the
choice is functionally arbitrary for image generation but control over
the package format becomes important if we want to:
1. Include runtime package management functionality in the firmware image
2. Mess about with the packages on the build system
With respect to 1 the IPK format and opkg (an ipk package manager) are
designed for embedded systems[1] - by contrast to RPMs have heavier
dependencies and a greater impact on the size and complexity of the
firmware image.
Regarding 2, the embedded nature and the need for opkg to work without
much fuss leads to a lower configuration barrier by comparison to RPMs.
With ipk it becomes possible to reuse the packages built during image
preparation for core analysis without needing to generate an SDK:
```
$ export LD_LIBRARY_PATH=./tmp/work/x86_64-linux/opkg-native/*/recipe-sysroot-native/usr/lib
$ MY_DEBUG_ROOT=tmp/rootfs-debug
$ ./tmp/sysroots-components/x86_64/opkg-native/usr/bin/opkg \
-f ./tmp/work/p10bmc-openbmc-linux-gnueabi/obmc-phosphor-image/*/opkg.conf \
-o $MY_DEBUG_ROOT \
update
$ fakeroot ./tmp/sysroots-components/x86_64/opkg-native/usr/bin/opkg \
-f ./tmp/work/p10bmc-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/opkg.conf \
-o $MY_DEBUG_ROOT \
install dbus-sensors dbus-sensors-dbg
$ gdb-multiarch
(gdb) set solib-absolute-prefix .../tmp/rootfs-debug
(gdb) add-auto-load-safe-path .../tmp/rootfs-debug
(gdb) file tmp/rootfs-debug/usr/bin/nvmesensor
(gdb) core-file obmcdump_17_9597/core.nvmesensor.0.aae91b519d0e4e0e8bbe746e3f6cd25f.2779.9594000000
Core was generated by `/usr/bin/nvmesensor'.
Program terminated with signal SIGABRT, Aborted.
pthread_kill.c:45
45 pthread_kill.c: No such file or directory.
(gdb) bt
pthread_kill.c:45
../sysdeps/posix/raise.c:26
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
/home/andrew/src/openbmc/openbmc/build/p10bmc/tmp/rootfs-debug/usr/lib/libstdc++.so.6
"xyz.openbmc_project.NVMeSensor", this=0x488f04) at
/usr/include/sdbusplus/bus.hpp:234
../../../../../../workspace/sources/dbus-sensors/src/NVMeSensorMain.cpp:159
(gdb)
```
This approach documented in the Poky Reference Manual:
https://www.yoctoproject.org/docs/1.0/poky-ref-manual/poky-ref-manual.html#platdev-gdb-remotedebug-launch-gdb-inferiorbins
Switch all machines to IPK to align the debugging experience with
upstream's documentation and to facilitate efficient use of packaged
software at runtime.
[1] https://openwrt.org/docs/guide-user/additional-software/opkg
Change-Id: I8ef526add2d7a6790de1b3eb3fb85cd39b864f23
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
|
CONFIG_IPMI_KCS_BMC_CDEV_IPMI=y needs to be added to ensure that KCS
works with the newer KCS driver in OpenBMC kernel.
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I12e97559562916acfd64adafbd9e61fe8fb5e672
|
|
Upstream bbclasses changed to typically use the `:${PN}` override
syntax, including the SYSTEMD_ variables. Change our systemd.bbclass
to do the same for consistency and perform a tree-wide variable
replacement.
Spot checked by building bletchley and witherspoon and checking
some of the SYSTEMD_LINK directives on installed packages under qemu.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I20a9dd809bff8af8759488734f80486c7228c6eb
|
|
Some services need obmc-mapper.target to start in correct
order, such as phosphor-virtual-sensors.
ref:
https://gerrit.openbmc-project.xyz/43952
https://gerrit.openbmc-project.xyz/43535
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Ia463c9f189d715336626ce9e46cad0a370e9b8dd
|
|
Remove the unneeded obmc packages and add specific ones that are used.
Signed-off-by: Vivekanand Veeracholan <vveerach@google.com>
Change-Id: I80472124ec1af684ebbd502219c8ae6d9f8fcee9
|
|
We've typically kept these LAYERSERIES_COMPAT to 2 releases: the current
and the upcoming. Remove 'gatesgarth' is it is now 2 releases back.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I5e812a94fed1738898af75c0fdee81996a5bbf20
|
|
This reverts commit 97466ae307a67c30d592c9d97a1e9d6e458e0e5b.
Reason for revert: x86-power-control supports DBUS service name
numbering for single and multi hosts now.
ref: https://gerrit.openbmc-project.xyz/45004
Change-Id: Id1fb9e61a10a457158c52990fe6c196d6fc44708
Signed-off-by: George Hung <george.hung@quantatw.com>
|
|
Use nonarch_base_libdir instead of base_libdir, because the files are
always in /lib/udev/rules.d/. On ppc64le base_libdir is lib64, and the
files end up in the wrong spot.
Signed-off-by: Anton Blanchard <anton@ozlabs.org>
Change-Id: I3c24dae293f4166f1ed1826d09d4bde7cd7d0357
|
|
'SYSTEMD_ENVIRONMENT_FILE', 'SYSTEMD_LINK', 'SYSTEMD_OVERRIDE'
should stay underscore
Signed-off-by: David Wang <davidwang@quantatw.com>
Change-Id: Ia30f306857d1552b19ff5ed06664c8bd5360cb4c
|
|
This is dependent on https://gerrit.openbmc-project.xyz/45865
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: Ia78c0a9f4bf4b2f97685e187acfeed90d1e0d126
|
|
This reverts commit cf7bc62babb57ea27e7a00cd6271ca53579281fe.
Reason for revert:
Enable fallback watchdog since it is possible that host fails to boot
before enabling the watchdog timer at all.
It was thought that DC cycle may be needed for fallback watchdog but it
is not required.
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I8b0f2677f078a091b626536a7ca474afa6ce77d9
|
|
- Cleanup subtree meta-f0b, meta-olympus-nuvoton, meta-q71l with
convert-overrides.py meta-quanta/meta-f0b
convert-overrides.py meta-quanta/meta-olympus-nuvoton
convert-overrides.py meta-quanta/meta-q71l
git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-f0b
git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-olympus-nuvoton
git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-q71l
git grep -l _f0b -- meta-quanta/meta-f0b | xargs sed -i 's/_f0b/:f0b/'
git grep -l _olympus-nuvoton -- meta-quanta/meta-olympus-nuvoton | xargs sed -i 's/_olympus-nuvoton/:olympus-nuvoton/'
git grep -l _quanta-q71l -- meta-quanta/meta-q71l | xargs sed -i 's/_quanta-q71l/:quanta-q71l/'
- Fix up a few by hand
- Revert 'BBFILE_PATTERN' and 'LAYERSERIES_COMPAT'
- Add honister to 'LAYERSERIES_COMPAT'
- Update 'CONF_VERSION'
- Fix up 'SYSTEMD_ENVIRONMENT_FILE', 'SYSTEMD_LINK' and 'SYSTEMD_OVERRIDE' in all subtree
Signed-off-by: David Wang <davidwang@quantatw.com>
Change-Id: Ic431624d09dc5899b1d84439559bea9efca08ad8
|
|
flash offset override also need new syntax change
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I589a4df8bf0a2a142bfc39504b72fad0026f4498
|
|
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I569f08159a5da3d148f63a5b1ed29b5cd52181db
|
|
Cleanup with
```
convert-overrides.py meta-quanta/meta-gbs
git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-gbs
git grep -l _gbs -- meta-quanta/meta-gbs \
| xargs sed -i 's/_gbs/:gbs/'
```
After cleanup
```
$ git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-gbs/ | grep '.bb'
meta-quanta/meta-gbs/recipes-bsp/images/npcm7xx-igps-native_%.bbappend:addtask do_gbs_prepare_xmls after do_patch before do_install
meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/gbs-sysinit.bb:do_install () {
meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-phosphor/gpio/phosphor-gpio-monitor_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-phosphor/interfaces/bmcweb_%.bbappend:do_install:append:gbs(){
meta-quanta/meta-gbs/recipes-phosphor/inventory/phosphor-inventory-manager_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-phosphor/ipmi/phosphor-ipmi-blobs-binarystore_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-phosphor/leds/phosphor-led-manager_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-quanta/network/usb-network.bbappend:do_install:append:gbs() {
meta-quanta/meta-gbs/recipes-x86/chassis/x86-power-control_%.bbappend:do_install:append:gbs() {
```
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: If640ddd3c6f6084bb0a1d82e2d18fa2640d9d83e
|
|
Cleanup with
```
convert-overrides.py meta-quanta/meta-gsj
git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-gsj
git grep -l _gsj -- meta-quanta/meta-gsj \
| xargs sed -i 's/_gsj/:gsj/'
```
Note:
Need to revert the change to BBFILE_PATTERN and LAYERSERIES_COMPAT.
After cleanup
```
$ git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-gsj/ | grep '.bb'
meta-quanta/meta-gsj/recipes-bsp/u-boot/u-boot-fw-utils-nuvoton_%.bbappend:do_install:append:gsj () {
meta-quanta/meta-gsj/recipes-google/ipmi/google-ipmi-sys_%.bbappend:do_install:append:gsj() {
meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/detect-fan-fail.bb:do_install:append:gsj() {
meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/quanta-nvme-powerctrl.bb:do_install () {
meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control_%.bbappend:do_install:append:gsj() {
meta-quanta/meta-gsj/recipes-quanta/network/mac-address_%.bbappend:do_install:append:gsj() {
```
Change-Id: I058371ed32214d665aaaf616a650c2efeaf5be66
Signed-off-by: Willy Tu <wltu@google.com>
|
|
Cleanup with
```
convert-overrides.py meta-quanta/meta-common
```
After Cleanup
```
$ git grep "_[a-z0-9_/-]*[ :]" -- meta-quanta/meta-common/
meta-quanta/meta-common/recipes-phosphor/health/phosphor-health-monitor_%.bbappend:do_install:append() {
meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh: dev_mac="$(set_local_administered_bit $dev_mac_path)"
meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh: host_mac="$(set_local_administered_bit $host_mac_path)"
meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh: echo $dev_mac > $dev_mac_path
meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh: echo $host_mac > $host_mac_path
meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh: cat $dev_mac_path > functions/ecm.usb0/dev_addr # write device mac address
meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh: cat $host_mac_path > functions/ecm.usb0/host_addr # write usb mac address
```
Change-Id: I21ac9c73fbfeb0972f910e30404c704d72095efd
Signed-off-by: Willy Tu <wltu@google.com>
|
|
Modify i2cool_1 sensor UCT to 75C according to thermal
requirement
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I48fb5cada8e893688e450207985fe8466119bb3b
|
|
This is to avoid conflicts with inplace-gbmc-update that's defualt on
gBMC overrides.
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I8ccab5760dd8d4b0b5eb8de5cd270e756d5fa2aa
|
|
This makes it possible for us to change out build specific settings.
Change-Id: Ib9ba56a832a035b7ded1bf1aed838db1d91df6bf
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
- monitor pwrgd_p12v_all_slots GPIO signal
- add pwrgd_p12v_all_slots as IPMI sensor with pwrgd_p12v_slots
sensor name
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I70ce89ad2a065cdc9ee59ace73085fea7036da0d
|
|
Since x86-power-control add multi-node support, the all related
states D-bus service name add the node instance additionally
Thus, update the Chassis/Host/RestartCause D-bus service name
for all related scripts/services
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: If6ba080ff8757e01e230ee7d636e293922cdc127
|
|
The led.yaml not be passed issue is fixed, so
remove the manual replace action
ref: https://gerrit.openbmc-project.xyz/43927
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Iaaf891f4d88527806b3f52694b17815e3b7fca17
|
|
https://gerrit.openbmc-project.xyz/36528 brought in a
new change in the json, so update to the latest format
for power-config-host0.json
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I2fa800eda63adda765b032c2d5d02186654349cb
|
|
Change Ie1a7c389edb6b7a048836a49283ceb62de51bba5 will be transitioning
the 'Type' property in Inventory.Item.Chassis to an enumeration.
In order to avoid crashing in PIM we need these default values in the
starting YAML to be fully-qualified enumeration names that will match
the values which will start in Ie1a7c.
This code is safe to merge as is without any PDI or PIM changes. Prior
to the PDI change, we must make a change to PIM that allows conversion
automatic from string->enum, leveraging library interfaces available in
sdbusplus. These will be submitted independently.
I checked the codebase for usage of this string. It appears that the
value is currently, effectively, write-only. There is code in bmcweb
that fills in the equivalent Redfish value but currently just hard-codes
the string 'RackMount'.
Tested: Booted Witherspoon in a QEMU model with this change and proposed
changes to sdbusplus + PIM. PIM no longer coredumps with the PDI change
and yields an expected persistence file:
```
$ pwd
/var/lib/phosphor-inventory-manager/xyz/openbmc_project/inventory/system/chassis
$ cat xyz.openbmc_project.Inventory.Item.Chassis
{
"value0": {
"cereal_class_version": 2,
"Type": 3
}
}
```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Icaf9447f31ccdd945cdf74b3e017682e4aed686f
|
|
Revert back to install phosphor-ipm-kcs to image
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Iad151c27c1f67fb8c6b8e422dde6a870ff32867f
|
|
Remove using external command in gbs-sysinit.sh
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I9fab3e275c822a0c87f5935cf912b258b923e33e
|
|
Also need to update the UCT and UNCT to 72 degree as default
for nvme rewrite script
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I7c744a1b21b4cfe6eb7204464ff77e3c3abb7ff5
|
|
This reverts commit 3f2570e74ef929c7449911df18c1a8b9a59f02f1.
Change-Id: Ie9ccec722df88d857bcdc3b2661adb55490fc13a
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
Since the addition override for 64MiB, add the flash
size suffix to fix flash layout offset
ref: https://gerrit.openbmc-project.xyz/43876
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I1a766fb90d79c55d1487e298e9eb16c8c1091165
|
|
Enable phosphor-health-monitor for CPU/Memory/Storage_RW
utilization
ref: https://gerrit.openbmc-project.xyz/43387
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: If76a2d60ebe3db1bd6c1486d039677f35e7e8c5d
|
|
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I23757a6df671ed98f67d1e4280abfcc4ae22d233
|
|
update the UCT and UNCT to 72 degree as default
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I1baad8f3b621c7a704d5e4872d634653ea75c197
|
|
ipmitool:
- debug/manufacturing purpose
phosphor-user-manager:
- basic authenication for Refish
phosphor-nslcd-authority-cert-config:
- be able to install your owned CA certificate
for Redfish
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I8697fe674d58268dbe348c9374f7de32037041c1
|
|
get rid of "ignored null byte in input" warning for
the usb-network.sh
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I2a18f568b362601fa1c41ec39a8c1cecf09f8862
|
|
remove packagegroup-obmc-apps-extras/packagegroup-gbs-apps
and add all the needed binaries to obmc-phosphor-image.bbappend
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Ic56cb146987881e5b6312057ca412427f1d1ba29
|
|
- remove unnecessary reset PHY action
- check the FIU node for different kernel version
- rebind the module for the I2C switch on I2C bus 11
as it only can work with the normal power
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I9b4390d146902484c75bdce20ef6eead2833fc14
|
|
remove patches:
- Update IPMI Chassis Control command transition requests
- Add Chassis State Transition interface
- Update Host State Transition function
- Fix issues and support signed sensor values
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I8f9f7d576ef7f7672bedf803ee73f331f96768ff
|
|
remove packages and recipe files:
- mac-address
- gbs-nvme-pwr-ctrl
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Ic9d6a48d16ec058d1f444badc2f3e69628f77859
|
|
remove patch:
- Add the ability to dynamically set the failSafe percent
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I3fdb60d288fb2fcf83928ba712a546f823849652
|
|
https://gerrit.openbmc-project.xyz/42539 brought in a change in the
json, now requiring "gpio_configs".
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I0361d6c4ed6fa440ae2e32a4ce9c364ee91d8380
|
|
Since the phosphor-logging still has other event
types other than IPMI SEL and also put them in the
"/var/lib/phosphor-logging/errors" directory. It
would make "ipmitool sel list" result in the
unspecified error
Thus, map these logs to the system event sensor as
"Undetermined system hardware failure"
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I00d557fba529d9b762746f8e582df336a16e630f
|
|
William A. Kennington III (3):
makefile: Fix target install
treewide: Cleanup pedantic C++ warnings
build: Add meson build
linyuny (1):
Add new google ipmi sys command: SysHostPowerOff
Change-Id: I988b24ca97d95ffa4ef7332741b682f1fae06011
Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com>
Signed-off-by: William A. Kennington III <wak@google.com>
|
|
remove patch:
- Add power on monitor mechanism patch
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: I932828d69948c3e0daa8fd428d620a75325e0ac9
|
|
removed patches:
- AMD CPU temperature hwmon driver
- seven segment display drivers
- adm1275 temperature sensors enable patch
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Ic3f566ee4d39d954fc2cbcc12e4b5b970f645733
|
|
- Add always restart to the service file
ref: https://gerrit.openbmc-project.xyz/42451
- Add retry 10 times when the service failed
- remove unused script
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Ia3b027077d8cc9fae65013d38bf1ea730dbbbe42
|
|
- Remove read-margin-temp files and codes
- Modified sensor type in pid json to temp
setpoint set to target temp
Kp set to Kp * scalar
Ki set to Ki * scalar
- Pre-detect nvme present status in fan-table-init.sh,
and delete settings if nvme present is false.
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Iba4ac164a7a39ca1be109301402911d432294997
|