Intel® AMT Time Keeping

The date/time used by Intel® Active Management Technology (AMT) is maintained by a protected real time clock (PRTC) running within the Manageability Engine.

 Clock Usage

The clock is used for a variety of reasons in AMT including date/time checks required for TLS and Kerberos usage, timestamps for events and logging, and maintaining alarms for the Alarm Clock feature.

 Setting the Clock

The clock can be set in a few ways, dependent on how AMT was provisioned. 

  1. In  systems with AMT version 7.0 or earlier, you can set it manually (locally) through the Manageability Engine BIOS Extensions (MEBx) via “Intel® AMT Configuration > Set PRTC”.
  2. Synchronize to a server’s time remotely through the API. The WS-Management class AMT_TimeSynchronizationService does this with the two calls GetLowAccuracyTimeSynch and SetHighAccuracyTimeSynch. The clock has to be set remotely during Enterprise mode configuration on systems prior to AMT 6.0 or the configuration will not succeed. For AMT 6.0 and later, the clock does not need to be remotely configured in order to complete provisioning to Enterprise mode, as long as TLS/Kerberos are not enabled; In this case the clock will be synchronized to the BIOS clock.
  3. The clock is automatically synchronized at boot time with the local BIOS clock for AMT 5.0 or earlier systems configured in Small Business (SMB) and for AMT version 6.0 or greater configured manually.

If the clock is being synchronized with the BIOS clock you should keep in mind that Microsoft Windows will typically set the BIOS to the local time being kept by the operating system (see The Old New Thing). I believe Unix/Linux systems normally set the BIOS clock to Coordinated Universal Time (UTC).


In the Zone

The clock used by AMT does not maintain knowledge of time zone. So it would be a good idea to maintain knowledge of how the clock has been/is being set and what the local time is for that system. This is important when setting the Alarm Clock or reading timestamps in the usages mentioned above.

 

For more complete information about compiler optimizations, see our Optimization Notice.