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