99source $DTS_ENV
1010# shellcheck source=../include/dts-subscription.sh
1111source $DTS_SUBS
12+ # shellcheck source=../include/hal/dts-hal.sh
13+ source $DTS_HAL
1214
1315# ## Color functions:
1416function echo_green() {
@@ -53,7 +55,7 @@ check_if_ac() {
5355 fi
5456
5557 while true ; do
56- ac_status=$( cat ${_ac_file} )
58+ ac_status=$( $FSREAD_TOOL check_if_ac_mock cat ${_ac_file} )
5759
5860 if [ " $ac_status " -eq 1 ]; then
5961 echo " AC adapter is connected. Continuing with firmware update."
@@ -121,28 +123,28 @@ it5570_i2ec() {
121123 # TODO: Use /dev/port instead of iotools
122124
123125 # Address high byte
124- iotools io_write8 0x2e 0x2e
125- iotools io_write8 0x2f 0x11
126- iotools io_write8 0x2e 0x2f
127- iotools io_write8 0x2f $(( $2 >> 8 & 0xff ))
126+ $IOTOOLS io_write8 0x2e 0x2e
127+ $IOTOOLS io_write8 0x2f 0x11
128+ $IOTOOLS io_write8 0x2e 0x2f
129+ $IOTOOLS io_write8 0x2f $(( $2 >> 8 & 0xff ))
128130
129131 # Address low byte
130- iotools io_write8 0x2e 0x2e
131- iotools io_write8 0x2f 0x10
132- iotools io_write8 0x2e 0x2f
133- iotools io_write8 0x2f $(( $2 & 0xff ))
132+ $IOTOOLS io_write8 0x2e 0x2e
133+ $IOTOOLS io_write8 0x2f 0x10
134+ $IOTOOLS io_write8 0x2e 0x2f
135+ $IOTOOLS io_write8 0x2f $(( $2 & 0xff ))
134136
135137 # Data
136- iotools io_write8 0x2e 0x2e
137- iotools io_write8 0x2f 0x12
138- iotools io_write8 0x2e 0x2f
138+ $IOTOOLS io_write8 0x2e 0x2e
139+ $IOTOOLS io_write8 0x2f 0x12
140+ $IOTOOLS io_write8 0x2e 0x2f
139141
140142 case $1 in
141143 " r" )
142- iotools io_read8 0x2f
144+ $IOTOOLS io_read8 0x2f
143145 ;;
144146 " w" )
145- iotools io_write8 0x2f " $3 "
147+ $IOTOOLS io_write8 0x2f " $3 "
146148 ;;
147149 esac
148150}
@@ -356,11 +358,11 @@ board_config() {
356358 " V54x_6x_TU" )
357359 # Dasharo 0.9.0-rc10 and higher have board model in baseboard-version
358360 if check_if_dasharo && compare_versions " $DASHARO_VERSION " 0.9.0-rc10; then
359- BOARD_MODEL=" $( dmidecode -s baseboard-version) "
360- elif ! dasharo_ectool info 2> /dev/null; then
361+ BOARD_MODEL=" $( $DMIDECODE -s baseboard-version) "
362+ elif ! $DASHARO_ECTOOL novacustom_check_sys_model_mock info 2> /dev/null; then
361363 ask_for_model V540TU V560TU
362364 else
363- BOARD_MODEL=$( dasharo_ectool info | grep " board:" |
365+ BOARD_MODEL=$( $DASHARO_ECTOOL novacustom_check_sys_model_mock info | grep " board:" |
364366 sed -r ' s|.*novacustom/(.*)|\1|' | awk ' {print toupper($1)}' )
365367 fi
366368
@@ -394,7 +396,7 @@ board_config() {
394396 ;;
395397 " V5xTNC_TND_TNE" )
396398 if check_if_dasharo; then
397- BOARD_MODEL=" $( dmidecode -s baseboard-version) "
399+ BOARD_MODEL=" $( $DMIDECODE -s baseboard-version) "
398400 else
399401 ask_for_model V540TNx V560TNx
400402 fi
@@ -718,7 +720,7 @@ board_config() {
718720}
719721
720722check_flash_lock () {
721- $FLASHROM -p " $PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} > /tmp/check_flash_lock 2> /tmp/check_flash_lock.err
723+ $FLASHROM check_flash_lock_mock -p " $PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} > /tmp/check_flash_lock 2> /tmp/check_flash_lock.err
722724 # Check in flashrom output if lock is enabled
723725 grep -q ' PR0: Warning:.* is read-only\|SMM protection is enabled' /tmp/check_flash_lock.err
724726 if [ $? -eq 0 ]; then
@@ -731,22 +733,22 @@ check_flash_lock() {
731733
732734check_flash_chip () {
733735 echo " Gathering flash chip and chipset information..."
734- $FLASHROM -p " $PROGRAMMER_BIOS " --flash-name >> " $FLASH_INFO_FILE " 2>> " $ERR_LOG_FILE "
736+ $FLASHROM flash_chip_name_mock -p " $PROGRAMMER_BIOS " --flash-name >> " $FLASH_INFO_FILE " 2>> " $ERR_LOG_FILE "
735737 if [ $? -eq 0 ]; then
736738 echo -n " Flash information: "
737739 tail -n1 " $FLASH_INFO_FILE "
738- FLASH_CHIP_SIZE=$(( $($FLASHROM - p "$PROGRAMMER_BIOS " -- flash- size 2 >> / dev/ null | tail - n1 ) / 1024 / 1024 ))
740+ FLASH_CHIP_SIZE=$(( $($FLASHROM flash_chip_size_mock - p "$PROGRAMMER_BIOS " -- flash- size 2 >> / dev/ null | tail - n1 ) / 1024 / 1024 ))
739741 echo -n " Flash size: "
740742 echo ${FLASH_CHIP_SIZE} M
741743 else
742744 for flash_name in $FLASH_CHIP_LIST
743745 do
744- $FLASHROM -p " $PROGRAMMER_BIOS " -c " $flash_name " --flash-name >> " $FLASH_INFO_FILE " 2>> " $ERR_LOG_FILE "
746+ $FLASHROM flash_chip_name_mock -p " $PROGRAMMER_BIOS " -c " $flash_name " --flash-name >> " $FLASH_INFO_FILE " 2>> " $ERR_LOG_FILE "
745747 if [ $? -eq 0 ]; then
746748 echo " Chipset found"
747749 tail -n1 " $FLASH_INFO_FILE "
748750 FLASH_CHIP_SELECT=" -c ${flash_name} "
749- FLASH_CHIP_SIZE=$(( $($FLASHROM - p "$PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} -- flash- size 2 >> / dev/ null | tail - n1 ) / 1024 / 1024 ))
751+ FLASH_CHIP_SIZE=$(( $($FLASHROM flash_chip_size_mock - p "$PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} -- flash- size 2 >> / dev/ null | tail - n1 ) / 1024 / 1024 ))
750752 echo " Chipset size"
751753 echo ${FLASH_CHIP_SIZE} M
752754 break
@@ -900,7 +902,7 @@ verify_artifacts() {
900902
901903check_intel_regions () {
902904
903- FLASH_REGIONS=$( $FLASHROM -p " $PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} 2>&1 )
905+ FLASH_REGIONS=$( $FLASHROM check_intel_regions_mock -p " $PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} 2>&1 )
904906 BOARD_HAS_FD_REGION=0
905907 BOARD_FD_REGION_RW=0
906908 BOARD_HAS_ME_REGION=0
@@ -928,7 +930,7 @@ check_blobs_in_binary() {
928930
929931 # If there is no descriptor, there is no ME as well, so skip the check
930932 if [ $BOARD_HAS_FD_REGION -ne 0 ]; then
931- ME_OFFSET=$( ifdtool -d $1 2> /dev/null | grep " Flash Region 2 (Intel ME):" | sed ' s/Flash Region 2 (Intel ME)\://' | awk ' {print $1;}' )
933+ ME_OFFSET=$( $IFDTOOL check_blobs_in_binary_mock -d $1 2> /dev/null | grep " Flash Region 2 (Intel ME):" | sed ' s/Flash Region 2 (Intel ME)\://' | awk ' {print $1;}' )
932934 # Check for IFD signature at offset 0 (old descriptors)
933935 if [ " $( tail -c +0 $1 | head -c 4| xxd -ps) " == " 5aa5f00f" ]; then
934936 BINARY_HAS_FD=1
@@ -958,11 +960,8 @@ check_if_me_disabled() {
958960 return
959961 fi
960962
961- # Check if HECI present
962- # FIXME: what if HECI is not device 16.0?
963- if [ -d /sys/class/pci_bus/0000:00/device/0000:00:16.0 ]; then
964- # Check ME Current Operation Mode at offset 0x40 bits 19:16
965- ME_OPMODE=" $( setpci -s 00:16.0 42.B 2> /dev/null | cut -c2-) "
963+ if check_if_heci_present; then
964+ ME_OPMODE=" $( check_me_op_mode) "
966965 if [ $ME_OPMODE == " 0" ]; then
967966 echo " ME is not disabled" >> $ERR_LOG_FILE
968967 return
@@ -997,8 +996,8 @@ check_if_me_disabled() {
997996 fi
998997 else
999998 # If we are running coreboot, check for status in logs
1000- cbmem -1 | grep -q " ME is disabled" && ME_DISABLED=1 && return # HECI (soft) disabled
1001- cbmem -1 | grep -q " ME is HAP disabled" && ME_DISABLED=1 && return # HAP disabled
999+ $CBMEM check_if_me_disabled_mock -1 | grep -q " ME is disabled" && ME_DISABLED=1 && return # HECI (soft) disabled
1000+ $CBMEM check_if_me_disabled_mock -1 | grep -q " ME is HAP disabled" && ME_DISABLED=1 && return # HAP disabled
10021001 # TODO: If proprietary BIOS, then also try to check SMBIOS for ME FWSTS
10031002 # BTW we could do the same in coreboot, expose FWSTS in SMBIOS before it
10041003 # gets disabled
@@ -1043,10 +1042,10 @@ set_flashrom_update_params() {
10431042 # We need to read whole binary (or BIOS region), otherwise cbfstool will
10441043 # return different attributes for CBFS regions
10451044 echo " Checking flash layout."
1046- $FLASHROM -p " $PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} ${FLASHROM_ADD_OPT_UPDATE} -r /tmp/bios.bin > /dev/null 2>&1
1045+ $FLASHROM check_flash_layout_mock -p " $PROGRAMMER_BIOS " ${FLASH_CHIP_SELECT} ${FLASHROM_ADD_OPT_UPDATE} -r /tmp/bios.bin > /dev/null 2>&1
10471046 if [ $? -eq 0 ] && [ -f " /tmp/bios.bin" ]; then
1048- BOARD_FMAP_LAYOUT=$( cbfstool /tmp/bios.bin layout -w 2> /dev/null)
1049- BINARY_FMAP_LAYOUT=$( cbfstool $1 layout -w 2> /dev/null)
1047+ BOARD_FMAP_LAYOUT=$( $CBFSTOOL layout_mock /tmp/bios.bin layout -w 2> /dev/null)
1048+ BINARY_FMAP_LAYOUT=$( $CBFSTOOL layout_mock $1 layout -w 2> /dev/null)
10501049 diff <( echo " $BOARD_FMAP_LAYOUT " ) <( echo " $BINARY_FMAP_LAYOUT " ) > /dev/null 2>&1
10511050 # If layout is identical, perform standard update using FMAP only
10521051 if [ $? -eq 0 ]; then
@@ -1183,7 +1182,7 @@ handle_fw_switching() {
11831182 esac
11841183 done
11851184 fi
1186- elif [ ! -v DPP_IS_LOGGED ] && [ " $DASHARO_FLAVOR " == " Dasharo (coreboot+heads)" ]; then
1185+ elif [ -z " $ DPP_IS_LOGGED" ] && [ " $DASHARO_FLAVOR " == " Dasharo (coreboot+heads)" ]; then
11871186 # Not logged with DPP and we are on heads, offer switch back
11881187 compare_versions $DASHARO_VERSION $HEADS_REL_VER_DPP
11891188 if [ $? -eq 1 ]; then
@@ -1251,7 +1250,7 @@ You can find more info about HCL in docs.dasharo.com/glossary\r"
12511250show_ram_inf () {
12521251 # Get the data:
12531252 local data=" "
1254- data=$( dmidecode )
1253+ data=$( $DMIDECODE )
12551254
12561255 # Initialize an empty array to store the extracted values:
12571256 local -a memory_devices_array
@@ -1548,19 +1547,19 @@ footer_options(){
15481547 send_dts_logs
15491548 set +x
15501549 unset VERBOSE_ACTIVE
1551- ${CMD_SHELL }
1550+ ${SHELL }
15521551
15531552 # If in submenu before going to shell - return to main menu after exiting
15541553 # shell:
15551554 unset DPP_SUBMENU_ACTIVE
15561555 ;;
15571556 " ${POWEROFF_OPT_UP} " | " ${POWEROFF_OPT_LOW} " )
15581557 send_dts_logs
1559- ${CMD_POWEROFF }
1558+ ${POWEROFF }
15601559 ;;
15611560 " ${REBOOT_OPT_UP} " | " ${REBOOT_OPT_LOW} " )
15621561 send_dts_logs
1563- ${CMD_REBOOT }
1562+ ${REBOOT }
15641563 ;;
15651564 " ${SEND_LOGS_OPT} " | " ${SEND_LOGS_OPT_LOW} " )
15661565 if [ " ${SEND_LOGS_ACTIVE} " == " true" ]; then
0 commit comments