Fix PcdTimerPeriod from 100,000 to 10,000. Since the unit base of PcdTimerPeriod is 100ns.
100,000 * 100ns = 10ms (interval of hardware timer interrupt) 10,1000 * 100ns = 1ms (interval of hardware timer interrupt)
In GRUB, the required timer granularity is only 1ms. If interval of hardware timer interrupt is 10ms in UEFI, GRUB will only get all timer granularity >= 10ms. At least, the timeout of boot menu in GRUB is much slower. Only the interval of hardware timer interrupt is 1ms in UEFI, the timeout of boot menu in GRUB works well.
Signed-off-by: Haojian Zhuang haojian.zhuang@linaro.org --- ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc | 2 +- ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc | 2 +- ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc | 2 +- ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A9x4.dsc | 2 +- BeagleBoardPkg/BeagleBoardPkg.dsc | 2 +- EmbeddedPkg/EmbeddedPkg.dec | 2 +- EmbeddedPkg/EmbeddedPkg.dsc | 2 +- Omap35xxPkg/Omap35xxPkg.dsc | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc index a64f2df..2b13fd7 100644 --- a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc +++ b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A8.dsc @@ -105,7 +105,7 @@
## SP804 Timer gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|1000000 - gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 # expressed in 100ns units, 100,000 x 100 ns = 10,000,000 ns = 10 ms + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 # expressed in 100ns units, 10,000 x 100 ns = 1,000,000 ns = 1 ms gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|36 gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000 gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10011020 diff --git a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc index a4bffb3..e5ec8d4 100644 --- a/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc +++ b/ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb-RTSM-A9x2.dsc @@ -104,7 +104,7 @@
## SP804 Timer gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|1000000 - gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 # expressed in 100ns units, 100,000 x 100 ns = 10,000,000 ns = 10 ms + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 # expressed in 100ns units, 10,000 x 100 ns = 1,000,000 ns = 1 ms gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|33 gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000 gArmPlatformTokenSpaceGuid.PcdSP804TimerMetronomeBase|0x10011020 diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc index ad4e7bf..248e54f 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc +++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc @@ -138,7 +138,7 @@
## SP804 Timer gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|1000000 - gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 # expressed in 100ns units, 100,000 x 100 ns = 10,000,000 ns = 10 ms + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 # expressed in 100ns units, 10,000 x 100 ns = 1,000,000 ns = 1 ms gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|34 gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x10011000 gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x10011020 diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A9x4.dsc b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A9x4.dsc index 14d0cf5..d6870dc 100644 --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A9x4.dsc +++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A9x4.dsc @@ -128,7 +128,7 @@
## SP804 Timer gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|1000000 - gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 # expressed in 100ns units, 100,000 x 100 ns = 10,000,000 ns = 10 ms + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 # expressed in 100ns units, 10,000 x 100 ns = 1,000,000 ns = 1 ms gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicInterruptNum|34 gArmPlatformTokenSpaceGuid.PcdSP804TimerPeriodicBase|0x1c110000 gArmPlatformTokenSpaceGuid.PcdSP804TimerPerformanceBase|0x1c110020 diff --git a/BeagleBoardPkg/BeagleBoardPkg.dsc b/BeagleBoardPkg/BeagleBoardPkg.dsc index 9eb364e..375f03c 100644 --- a/BeagleBoardPkg/BeagleBoardPkg.dsc +++ b/BeagleBoardPkg/BeagleBoardPkg.dsc @@ -341,7 +341,7 @@ gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0x80008000 gArmTokenSpaceGuid.PcdCpuResetAddress|0x80008000
- gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77 gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000
diff --git a/EmbeddedPkg/EmbeddedPkg.dec b/EmbeddedPkg/EmbeddedPkg.dec index f557527..9f113fc 100644 --- a/EmbeddedPkg/EmbeddedPkg.dec +++ b/EmbeddedPkg/EmbeddedPkg.dec @@ -121,7 +121,7 @@
gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000|UINT32|0x0000001c gEmbeddedTokenSpaceGuid.PcdTimerVector|7|UINT32|0x0000001d - gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000|UINT32|0x0000001e + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000|UINT32|0x0000001e gEmbeddedTokenSpaceGuid.PcdInterruptBaseAddress|0x38e00000|UINT32|0x0000001f
gEmbeddedTokenSpaceGuid.PcdMetronomeTickPeriod|100|UINT32|0x00000020 diff --git a/EmbeddedPkg/EmbeddedPkg.dsc b/EmbeddedPkg/EmbeddedPkg.dsc index 6719eea..2005d8f 100644 --- a/EmbeddedPkg/EmbeddedPkg.dsc +++ b/EmbeddedPkg/EmbeddedPkg.dsc @@ -219,7 +219,7 @@ # gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000 gEmbeddedTokenSpaceGuid.PcdTimerVector|7 - gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000
[PcdsFixedAtBuild.IPF] gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000 diff --git a/Omap35xxPkg/Omap35xxPkg.dsc b/Omap35xxPkg/Omap35xxPkg.dsc index 8d8f521..cd963f3 100644 --- a/Omap35xxPkg/Omap35xxPkg.dsc +++ b/Omap35xxPkg/Omap35xxPkg.dsc @@ -157,7 +157,7 @@ # Timers gOmap35xxTokenSpaceGuid.PcdOmap35xxArchTimer|3 gOmap35xxTokenSpaceGuid.PcdOmap35xxFreeTimer|4 - gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 + gEmbeddedTokenSpaceGuid.PcdTimerPeriod|10000 gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterPeriodInNanoseconds|77 gEmbeddedTokenSpaceGuid.PcdEmbeddedPerformanceCounterFrequencyInHz|13000000