Skip to content
  1. Jul 03, 2018
  2. Jun 26, 2018
  3. Jun 22, 2018
  4. Jun 21, 2018
  5. Jun 20, 2018
    • Masahisa Kojima's avatar
      Silicon/NXP/Pcf8563RealTimeClockLib: add Voltage-low handling · 070938aa
      Masahisa Kojima authored
      
      
      BcdToDecimal8() in LibGetTime() asserts with the
      following condition.
       1) RTC device has not been initialized yet, RTC device
          returns indeterminate value with VL bit(1)
       2) DEBUG build
      
      UEFI boot fails with assertion when it satisfies above conditions.
      
      Aside from boot failure, UEFI shell commands "date/time" expect
      that getting time from RTC should succeed when user sets the time.
      ShellCommandRunTime() performs GetTime()->update time->SetTime(),
      if the first GetTime() fails, user can not set time.
      With that, simply returning EFI_DEVICE_ERROR in LibGetTime()
      is not applicable to VL bit handling.
      
      To avoid this situation, even if it only occurs in DEBUG build,
      RTC driver should check the VL bit in the VL_seconds register.
      This VL bit is voltage-low detector, it means integrity of the
      clock information is not guaranteed if it sets to 1. In this
      case, driver return dummy date/time(01/01/2000 00:00:00) to
      proceed succeeding process.
      
      linux driver also checks this bit when driver gets the time
      from RTC. If VL bit is 1, linux driver discard the retreived
      time data.
      
      Note that if VL bit is 1, GetTime() returns always
      01/01/2000 00:00:00 until user sets date/time.
      
      Contributed-under: TianoCore Contribution Agreement 1.1
      Co-authored-by: default avatarYoshitoyo Osaki <osaki.yoshitoyo@socionext.com>
      Signed-off-by: default avatarMasahisa Kojima <masahisa.kojima@linaro.org>
      Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      070938aa
  6. Jun 18, 2018
  7. Jun 15, 2018
    • Ard Biesheuvel's avatar
      Silicon/NorFlashSynQuacerLib: describe entire firmware region as FV · fff2e99a
      Ard Biesheuvel authored
      
      
      In order to allow for more flexibility when updating parts of the
      firmware via capsule update, expand the description of the code FV
      to cover the entire 4 MB region at the base of the NOR flash.
      
      Contributed-under: TianoCore Contribution Agreement 1.1
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
      fff2e99a
    • Ard Biesheuvel's avatar
      Silicon/SynQuacerPlatformFlashAccessLib: relax FV address check · 0717ecd0
      Ard Biesheuvel authored
      
      
      In commit 913fdda9 ("Silicon/SynQuacerPlatformFlashAccessLib: don't
      dereference FVB header fields"), we dropped all accesses to FVB header
      field, which was necessary because the flash partition may not in fact
      contain such a header. Instead, only an exact match on the base address
      of the FV compared to the base address of the capsule payload would
      result in a match, making it difficult to create capsules that only
      update a subset of the flash contents.
      
      Given that the FVB protocol provides a GetBlockSize() method that also
      returns the number of consecutive blocks of that size, and does not rely
      on the FVB header contents, we can actually infer the size of the flash
      partition, and use it to decide whether a capsule payload targets an
      area that is covered by this partition entirely.
      
      This optimization allows us to extend the FV description to include the
      SCP firmware partition without requiring us to actually provide a
      payload for that partition immediately, which is useful as a preparatory
      step.
      
      Contributed-under: TianoCore Contribution Agreement 1.1
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Reviewed-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
      0717ecd0
  8. Jun 13, 2018
Loading