kernel/eka/drivers/hcr/hcr_hai.h
changeset 301 172f33f13d7d
parent 119 6e99f362aa46
equal deleted inserted replaced
300:1d28c8722707 301:172f33f13d7d
    20 @file hcr_hai.h
    20 @file hcr_hai.h
    21 Kernel side definitions for the HCR Symbian Hardware Abstraction 
    21 Kernel side definitions for the HCR Symbian Hardware Abstraction 
    22 Interface (SHAI) for variants to implement when creating a HCR.dll binary.
    22 Interface (SHAI) for variants to implement when creating a HCR.dll binary.
    23 
    23 
    24 @publishedPartner
    24 @publishedPartner
    25 @prototype
       
    26 */
    25 */
    27 
    26 
    28 #ifndef HCR_HAI_H
    27 #ifndef HCR_HAI_H
    29 #define HCR_HAI_H
    28 #define HCR_HAI_H
    30 
    29 
    72         */    
    71         */    
    73         virtual TInt Initialise() = 0;
    72         virtual TInt Initialise() = 0;
    74         
    73         
    75         
    74         
    76     	/**
    75     	/**
    77         This method returns the address of the compile time setting repository 
    76         This method returns the virtual address of the compile time setting 
    78         built into the variant HCR.dll project/binary. This repository is 
    77 		repository built into the variant HCR.dll project/binary. This 
    79         optional and may be absent in which case 0 should be returned in aAddr. 
    78 		repository is optional and may be absent in which case 0 should be 
       
    79 		returned in aAddr. 
    80          
    80          
    81         @param aAddr out: a pointer to a HCR::SRepositoryCompiled 
    81         @param aAddr out: the virtual address of a HCR::SRepositoryCompiled 
    82     	@return	KErrNone if successful, output parameters valid,
    82     	@return	KErrNone if successful, output parameters valid,
    83     	        KErrNotSupported if a compile time repository is not supported,
    83     	        KErrNotSupported if a compile time repository is not supported,
    84     	        Any other system wide error code.
    84     	        Any other system wide error code.
    85         @see HCR::SRepositoryCompiled
    85         @see HCR::SRepositoryCompiled
    86        	*/
    86        	*/
    96     	        EFalse if the core image repository is to be used/supported
    96     	        EFalse if the core image repository is to be used/supported
    97        	*/
    97        	*/
    98         virtual TBool IgnoreCoreImgRepository () = 0;
    98         virtual TBool IgnoreCoreImgRepository () = 0;
    99         
    99         
   100     	/**
   100     	/**
   101         This method returns the address of the override repository that 
   101         This method returns the virtual address of the override repository that 
   102         provides override values for the variant. Typically this repository
   102         provides override read-only values for the variant. Typically this 
   103         is held in local media and shadowed in RAM by the OS loader. It is
   103 		repository is held in local media and shadowed into physical RAM by
   104         a read-only settings repository. This repository is optional and may 
   104 		the OS loader and later reserved by the OS bootstrap.
   105         be absent in which case 0 should be returned in aAddr.
   105 		The implementation will find the physical address of the reserved RAM 
       
   106 		containing the HCR payload in the SSmrBank entry of the SSuperPageBase 
       
   107 		object. It will need to map this RAM into a DChunk to return a valid 
       
   108 		virtual address pointer. 
       
   109 		This repository is optional and may be absent in which case 0 should
       
   110 		be returned in aAddr.
   106          
   111          
   107         @param aAddr out: a pointer to a HCR::SRepositoryFile
   112         @param aAddr out: the virtual address of the HCR::SRepositoryFile 
       
   113                           object inside the DChunk. 
   108     	@return	KErrNone if successful, output parameters valid,
   114     	@return	KErrNone if successful, output parameters valid,
   109     	        KErrNotSupported if a compile time repository is not supported,
   115     	        KErrNotSupported if a override repository is not supported,
   110     	        Any other system wide error code.
   116     	        Any other system wide error code.
   111         @see HCR::SRepositoryFile
   117         @see HCR::SRepositoryFile
       
   118         @see SSuperPageBase
       
   119         @see SSmrBank
   112        	*/
   120        	*/
   113         virtual TInt GetOverrideRepositoryAddress(TAny* & aAddr) = 0;
   121         virtual TInt GetOverrideRepositoryAddress(TAny* & aAddr) = 0;
   114         
   122         
   115         };       
   123         };       
   116         
   124