As there are 24 PCR's in TPM 1.2 specification. Some of these PCRs are reserved and cannot be extended by user's code. Below are the PCR Index with their Usageusage:
0 - CRTM, BIOS and Platform Extensions
Platform1 - Platform Configuration
Option2 - Option ROM Code
Option3 - Option ROM Configuration and Data
IPL7Code4 - IPL Code (MBR Information and Bootloader Stage 1)
IPL5 - IPL Code and Configuration Data (for use by IPL Code)
State6 - State Transition and Wake Events
Reserved7 - Reserved for future usage. Do not use.
Bootloader8 - Bootloader Stage 2 Part 1
Bootloader9 - Bootloader Stage 2 Part 2
Not10 - Not in Use.
Not11 - Not in Use.
Bootloader12 - Bootloader Command line Arguments
Files13 - Files checked via check-file routine
Files14 - Files which are actually loaded (e.g. Linux kernel, initrd, modules..)
Not15 - Not in Use.
Not16 - Not in Use.
DRTM17 - DRTM
18-23 to 23. Not in Use.
whatWhat I understood that a user can extend all the PCR's which are not in use? Is this correct? I asked this question Because I have written my own code to extend PCR's (by following https://www.cylab.cmu.edu/tiw/slides/challener-handout.pdf) and it turns out that i can extend all the PCR's except from PCR 17 to PCR 22. And my understanding was that I can only extend few and especially cannot play with the lower ones from PCR 0 to PCR 7.
Your help is highly appreciated! I can send the code as well if required!