--- a/kernel/eka/drivers/hcr/hcr_hai.h Tue Nov 02 15:29:23 2010 +0000
+++ b/kernel/eka/drivers/hcr/hcr_hai.h Tue Nov 02 15:42:21 2010 +0000
@@ -22,7 +22,6 @@
Interface (SHAI) for variants to implement when creating a HCR.dll binary.
@publishedPartner
-@prototype
*/
#ifndef HCR_HAI_H
@@ -74,11 +73,12 @@
/**
- This method returns the address of the compile time setting repository
- built into the variant HCR.dll project/binary. This repository is
- optional and may be absent in which case 0 should be returned in aAddr.
+ This method returns the virtual address of the compile time setting
+ repository built into the variant HCR.dll project/binary. This
+ repository is optional and may be absent in which case 0 should be
+ returned in aAddr.
- @param aAddr out: a pointer to a HCR::SRepositoryCompiled
+ @param aAddr out: the virtual address of a HCR::SRepositoryCompiled
@return KErrNone if successful, output parameters valid,
KErrNotSupported if a compile time repository is not supported,
Any other system wide error code.
@@ -98,17 +98,25 @@
virtual TBool IgnoreCoreImgRepository () = 0;
/**
- This method returns the address of the override repository that
- provides override values for the variant. Typically this repository
- is held in local media and shadowed in RAM by the OS loader. It is
- a read-only settings repository. This repository is optional and may
- be absent in which case 0 should be returned in aAddr.
+ This method returns the virtual address of the override repository that
+ provides override read-only values for the variant. Typically this
+ repository is held in local media and shadowed into physical RAM by
+ the OS loader and later reserved by the OS bootstrap.
+ The implementation will find the physical address of the reserved RAM
+ containing the HCR payload in the SSmrBank entry of the SSuperPageBase
+ object. It will need to map this RAM into a DChunk to return a valid
+ virtual address pointer.
+ This repository is optional and may be absent in which case 0 should
+ be returned in aAddr.
- @param aAddr out: a pointer to a HCR::SRepositoryFile
+ @param aAddr out: the virtual address of the HCR::SRepositoryFile
+ object inside the DChunk.
@return KErrNone if successful, output parameters valid,
- KErrNotSupported if a compile time repository is not supported,
+ KErrNotSupported if a override repository is not supported,
Any other system wide error code.
@see HCR::SRepositoryFile
+ @see SSuperPageBase
+ @see SSmrBank
*/
virtual TInt GetOverrideRepositoryAddress(TAny* & aAddr) = 0;