|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-A27BD4D8-8B0E-57C8-9C15-736109297DEA" xml:lang="en"><title>Keyword reference (D-F)</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p>This page lists the keywords starting from D to F. </p> |
|
14 <section id="GUID-D3FA449B-0A87-4739-991C-6C59C6DEEC71"><title>data-align</title><codeblock xml:space="preserve">data-align = <hex-number></codeblock><p><i>rombuild |
|
15 only</i></p><p>This keyword specifies the alignment for the executable's |
|
16 data. It indicates the start address of a data segment that must be |
|
17 aligned to a specified value.</p><p><b>Note</b>: The |
|
18 inclusion of <codeph>data-align</codeph> keyword in an OBY file does |
|
19 not increase the size of ROM image.</p></section> |
|
20 <section id="GUID-DF3AEED2-A9D0-5176-B4E5-63F73262BE07"><title>datapagingoverride</title> <codeblock id="GUID-76519D8D-65AA-5553-87D6-70BDBA94F6CB" xml:space="preserve">datapagingoverride [NOPAGING | ALWAYSPAGE | DEFAULTUNPAGED | DEFAULTPAGED]</codeblock> <p> <i>rombuild and rofsbuild </i> </p> <p>If the <codeph>datapagingoverride</codeph> keyword is spe,cified in an OBY file, it overrides the configuration |
|
21 for data paging for the executable files defined in OBY file. This |
|
22 keyword takes a single argument, which can be one of the possible |
|
23 values listed in <xref href="GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A.dita#GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A/GUID-20A2663B-FE05-5E0A-ACF9-669EDDC8317C">codepagingoverride</xref>. </p> </section> |
|
24 <section id="GUID-7DAC5804-0A03-5098-836A-2DB2CDB6F5D4"><title>datapagingpolicy</title> <codeblock id="GUID-F3A5F40B-2FF3-54FE-91A4-EDA247D184DE" xml:space="preserve">datapagingpolicy [NOPAGING | ALWAYSPAGE | DEFAULTUNPAGED | DEFAULTPAGED]</codeblock> <p> <i>rombuild and rofsbuild </i> </p> <p>This overrides the default |
|
25 settings for data paging and the settings from all the <xref href="GUID-85B33746-074D-5B54-ACF4-1B1620D48FF6.dita#GUID-85B33746-074D-5B54-ACF4-1B1620D48FF6/GUID-08CFF2B1-63CC-5358-AD13-B4152A83B640">previous levels</xref>. </p> <p>This keyword takes a single argument, |
|
26 which can be one of the possible values listed in <xref href="GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A.dita#GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A/GUID-20A2663B-FE05-5E0A-ACF9-669EDDC8317C">codepagingoverride</xref>. </p> </section> |
|
27 <section id="GUID-23851F44-7FAC-5B99-8D15-44099A61A4E4"><title>data[[HWVD]]</title> <codeblock id="GUID-BF169545-15DE-5044-8800-880DD16C301C" xml:space="preserve">data[[HWVD]] = <source-file> <destination-file> [File-attribute-list] |
|
28 </codeblock> <p> <i>rombuild and rofsbuild</i> </p> <p>A file that |
|
29 is copied from its source location into the ROM without any processing. </p> <p>Note that the HWVD is optional but, if specified, must be enclosed |
|
30 within square brackets. </p> </section> |
|
31 <section id="GUID-2F0E6FDC-4822-5FFF-9D7A-E2E25E088945"><title>dataaddress</title> <codeblock id="GUID-D060AFCC-0D79-5C8E-9D16-49883DE78C94" xml:space="preserve">dataaddress = <hex-address></codeblock> <p> <i>rombuild only</i> </p> <p>Linear address of data/bss chunks |
|
32 for all executables except the Kernel. </p> </section> |
|
33 <section id="GUID-EAD738DD-C0D5-5437-926D-8F567B78EDB2"><title>datadriveimagename</title> <codeblock id="GUID-CEA1CE42-50FD-5E49-8EB7-E6EBDAE3D090" xml:space="preserve">datadriveimagename = <image name></codeblock> <p> <i> ROFSBUILD only</i> </p> <p>Specifies the name of the data |
|
34 drive image. </p> </section> |
|
35 <section id="GUID-DD194603-EF11-5119-944B-399844BE8FF6"><title>DATA_IMAGE</title> <codeblock id="GUID-266AF2AA-32D1-5226-83DF-EEC3BE30645E" xml:space="preserve">DATA_IMAGE <id> <name> [size=<partition size>] [FAT16 | FAT32] [compress | no-compress]</codeblock> <p> <i>BUILDROM only</i> </p> <p>Defines a data drive image. </p> <p>This is a data drive configuration feature. There is no limitation |
|
36 for the number of data drive images that can be defined for an internal |
|
37 media. </p> <table id="GUID-00ED8A80-B25C-50FB-83CB-CEA1D97D5872"> |
|
38 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
|
39 <tbody> |
|
40 <row> |
|
41 <entry><p> <codeph>id</codeph> </p> </entry> |
|
42 <entry><p>A value to identify the data drive image. </p> </entry> |
|
43 </row> |
|
44 <row> |
|
45 <entry><p> <codeph>name</codeph> </p> </entry> |
|
46 <entry><p>A name suitable as a suffix for the data drive image, IBY |
|
47 and logs. </p> </entry> |
|
48 </row> |
|
49 <row> |
|
50 <entry><p> <codeph>size = <partition size></codeph> </p> </entry> |
|
51 <entry><p>Defines the size of the data drive image that has to be |
|
52 generated. </p> </entry> |
|
53 </row> |
|
54 <row> |
|
55 <entry><p> <codeph>compress</codeph> </p> </entry> |
|
56 <entry><p>Compresses files in the image. If not specified, no compression |
|
57 is the default behaviour. </p> </entry> |
|
58 </row> |
|
59 </tbody> |
|
60 </tgroup> |
|
61 </table> <p>To mark a file for inclusion in a data drive it is prefixed |
|
62 with the keyword DATA_IMAGE. For example: </p> <codeblock id="GUID-5BC759DE-15ED-547B-8011-B0ED471D4520" xml:space="preserve">DATA_IMAGE[2] fatname size=16000000 fat16 -compress</codeblock> <p>The above information can also be included using '{' '}' braces, |
|
63 for example: </p> <codeblock id="GUID-26C953FA-7885-55D1-A404-FE6DA2BD3A84" xml:space="preserve">DATA_IMAGE[2] |
|
64 { |
|
65 dataimagename=fatname |
|
66 compress |
|
67 dataimagefilesystem=fat16 |
|
68 dataimagesize=16000000 |
|
69 } |
|
70 </codeblock> </section> |
|
71 <section id="GUID-3C7B6900-5190-540B-8B17-F0BCE7FCB1DB"><title> dataimagefilesystem</title> <codeblock id="GUID-C65978B7-63E7-513D-8733-F63062BED849" xml:space="preserve">dataimagefilesystem = <FAT16 | FAT32></codeblock> <p> <i>BUILDROM and ROFSBUILD only</i> </p> <p>Specifies the file |
|
72 system type of the datadrive image. If this is not specified then |
|
73 by default <xref href="GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463.dita">BUILDROM</xref> sets the image file system as fat16. </p> </section> |
|
74 <section id="GUID-F15BB2C7-6773-5636-B329-4789AFEC809C"><title>dataimagename</title> <codeblock id="GUID-921E43DC-BCF6-59C5-9C29-6280E5ABF128" xml:space="preserve">dataimagename = <image name></codeblock> <p> <i> ROFSBUILD only</i> </p> <p>Specifies the name of the datadrive |
|
75 image. If this is not specified then by default <xref href="GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463.dita">BUILDROM</xref> sets |
|
76 the image name as <b>dataimagex</b>, where x is the image index. </p> </section> |
|
77 <section id="GUID-C0E3CB31-93F9-548F-BAD1-54D04F719504"><title> dataimagesize</title> <codeblock id="GUID-BD29E016-BC13-5D0B-9CC6-39B7288C2EE9" xml:space="preserve">dataimagesize = <size in bytes></codeblock> <p> <i>ROFSBUILD only</i> </p> <p>Specifies the maximum size of |
|
78 a data drive image. The default size is the size of the data drive |
|
79 folder. </p> </section> |
|
80 <section id="GUID-A3DA2415-FAF3-56D9-9598-6A3E615C2248"><title>DEFAULT_LANGUAGE</title> <codeblock id="GUID-37A5F46F-9A43-51D5-A141-E617EC540002" xml:space="preserve">DEFAULT_LANGUAGE NN</codeblock> <p> <i>BUILDROM only</i> </p> <p>Localisation support. Specifies |
|
81 the default language as a Symbian 2-digit code. This keyword should |
|
82 only be used once. </p> </section> |
|
83 <section id="GUID-06D8C5BB-5FFD-5A49-98FC-C5F133C0C126"><title>DEFINE</title> <codeblock id="GUID-8C60E867-2372-5823-ACB5-E336E99BC009" xml:space="preserve">DEFINE <name> <replacement></codeblock> <p> <i>BUILDROM only</i> </p> <p>Performs textual substitution. |
|
84 All subsequent instances of <name> are replaced by <replacement>. </p> <p>Notes: </p> <ul> |
|
85 <li id="GUID-82C80198-2F51-5D7C-84DB-F398F09FE9E5"><p>There is no |
|
86 UNDEFINE facility, and substitutions are applied in an unspecified |
|
87 order </p> </li> |
|
88 <li id="GUID-31FA7AC7-4615-57B5-8AF7-A289E0734792"><p>The C++ preprocessor |
|
89 cannot be used conveniently because it inserts whitespace around substituted |
|
90 text. </p> </li> |
|
91 </ul> </section> |
|
92 <section id="GUID-5A5348CB-1562-5C05-857D-C3F3EEDB51D7"><title>device[[HWVD]]</title> <codeblock id="GUID-12D1F89D-7E21-5FE0-8037-6B9E1516400C" xml:space="preserve">device[[HWVD]] = <source-file> <destination-image-file> [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i> </p> <p>Defines kernel-mode logical or |
|
93 physical device drivers, which can have global data. The address of |
|
94 this data is generated by <codeph>rombuild</codeph>. </p> <p>Note |
|
95 that the <codeph>HWVD</codeph> is optional but, if specified, must |
|
96 be enclosed within square brackets. </p> </section> |
|
97 <section id="GUID-35E198AB-4B68-55C1-B6FB-471E743412DD"><title>dll[[HWVD]]</title> <codeblock id="GUID-BA573051-4702-5D15-B9D1-83E69B35F34E" xml:space="preserve">dll[[HWVD]] = <source-file> <destination-image-file> [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i> </p> <p>Specifies an executable file whose |
|
98 entry point must be called. </p> </section> |
|
99 <section id="GUID-28C6642D-FBA6-5FD4-A8A5-BE761F71FBB6"><title>debugport</title> <codeblock id="GUID-260500B6-DF9D-58C8-B2C5-9EEBCEFD8281" xml:space="preserve">debugport = <32bit-number></codeblock> <p> <i>rombuild only</i> </p> <p>Specifies the destination port |
|
100 for Kernel and Bootstrap traces. </p> <p> <codeph>rombuild</codeph> stores the value in the ROM header. Each ASSP is free to interpret |
|
101 the debug port as it pleases, for example, as a serial port number |
|
102 or as an I/O base address. The default value is -1. </p> </section> |
|
103 <section id="GUID-0F63B6BF-5F9B-54A6-9109-D8661D365E5D"><title>defaultstackreserve</title> <codeblock id="GUID-58808242-D04B-5EB0-A2C8-0BD552976C3D" xml:space="preserve">defaultstackreserve = <default stack reserve></codeblock> <p> <i>rombuild only</i> </p> <p>Specifies the maximum size of |
|
104 the stack. </p> </section> |
|
105 <section id="GUID-F6F5BB84-ED0A-578F-88E5-26017E303C8E"><title>demandpagingconfig</title> <codeblock id="GUID-E2E8D89C-EE12-57F6-8F96-EBB170F74BC6" xml:space="preserve">demandpagingconfig <MinLivePages> <MaxLivePages> <YoungOldPageRatio> <NANDPageReadDelay> <NANDPageReadCPUOverhead></codeblock> <p> <i>rombuild only</i> </p> <p>Specifies settings for demand |
|
106 paging enabled ROM. </p> <p>This keyword takes four arguments, which |
|
107 are described below: </p> <ul> |
|
108 <li id="GUID-36F11698-0AE0-5EE1-974F-6649441B8068"><p> <codeph>MinLivePages</codeph>: This is the minimim number of RAM pages to reserve for the paging |
|
109 system.The number must be at least equal to 2*(YoungOldPageRatio+1). |
|
110 If a smaller number is specified, a number equal to this formula is |
|
111 used instead. </p> <p>For example, the <codeph>YoungOldPageRatio</codeph> is 3 and <codeph>MinLivePages</codeph> is set to 5. According to |
|
112 the formula 2*(YoungOldPageRatio+1), the minimum number of live pages |
|
113 must be 8, but the number specified is 5. So the minimum number is |
|
114 set to 8. </p> </li> |
|
115 <li id="GUID-4363D4F0-29B4-528A-A8C0-6AD33EC38E8D"><p> <codeph>MaxLivePages</codeph>: The maximum number of RAM pages the paging system may use. The |
|
116 number must be greater than or equal to <codeph>MinLivePages</codeph>. On a production system the number is always set to maximum (32767). |
|
117 However, low values may be used to test the effects of low free RAM. </p> </li> |
|
118 <li id="GUID-5B7A3BAC-74C2-53F0-BB42-A780C2039A95"><p> <codeph>YoungOldPageRatio</codeph>: The ratio of young to old pages maintained by the system. For this |
|
119 purpose, the paging system maintains a list of live pages, which is |
|
120 again split into two sub-lists: a list of young pages, and a list |
|
121 of old pages in the system. The paging system uses <codeph>YoungOldPageRatio</codeph> to maintain the relative sizes of these two lists. </p> <p>For example, |
|
122 let us assume that the ratio is R, the number of young pages is N<sub>y</sub> and the number of old pages is N<sub>o</sub>. If N<sub>y</sub> > RN<sub>o</sub>, a page is taken from the end of the young pages |
|
123 list and placed at the start of the old pages list. This process is |
|
124 called aging. </p> </li> |
|
125 <li id="GUID-F83C2062-8417-5A80-A842-6402B5AB3AFD"><p> <codeph>NANDPageReadDelay</codeph>: The delay in microseconds, between initiating a page read operation |
|
126 and completing it. During this delay, other threads in the system |
|
127 may use the CPU. </p> </li> |
|
128 <li id="GUID-FC3B5DDD-72EF-52CD-BD65-5CFAE8C23C22"><p> <codeph>NANDPageReadCPUOverhead</codeph>: The CPU instruction execution time in microseconds, to setup and |
|
129 process a page read operation. During this delay, the CPU is busy |
|
130 and is not accessible by other threads. </p> </li> |
|
131 </ul> <p> <b>Note</b>: All the above listed attributes are limited |
|
132 to the value range 0-32767. </p> </section> |
|
133 <section id="GUID-8F9F15ED-B972-517E-91E3-F58657324A31"><title>dlldatatop</title> <codeblock id="GUID-F20FD3D8-BB27-5EBA-9A19-EE4BFC0F6BB5" xml:space="preserve">dlldatatop = <address of data region></codeblock> <p> <i>rombuild only</i> </p> <p>Specifies the top of the DLL data |
|
134 region. </p> </section> |
|
135 <section id="GUID-E7D77979-190A-5BB4-90A3-00E3C022A6E5"><title>ECHO</title> <codeblock id="GUID-18383190-BB88-535F-8841-624E15B8445A" xml:space="preserve">ECHO <anything at all></codeblock> <p> <i>BUILDROM only</i> </p> <p>Prints the rest of the line following |
|
136 the ECHO keyword to standard output. </p> </section> |
|
137 <section id="GUID-92EAD7F7-6524-57BF-9417-B455AF469C7A"><title>__ECOM_PLUGIN</title> <codeblock id="GUID-3C774FDB-5DB0-5FE1-94E1-F6E368E04FB8" xml:space="preserve">__ECOM_PLUGIN(<local build directory>, <rom binary directory>, <local epoc32\data\Z directory>, <rom resources directory>, <DLL filename>, <resource filename>)</codeblock> <p> <i>BUILDROM only</i> </p> <p>Specifies an ECom plug-in, consisting |
|
138 of an implementation DLL and an ECom registration resource file, to |
|
139 include in ROM. </p> <p>Symbian platform code does not use this keyword |
|
140 directly. Instead, it uses the macro <codeph>ECOM_PLUGIN</codeph>, |
|
141 defined in <codeph>\epoc32\rom\include\header.iby</codeph>, which |
|
142 allows the plug-in to be specified more briefly, in the following |
|
143 form: </p> <codeblock id="GUID-323952F5-34D9-585A-8623-082A7567FD3D" xml:space="preserve">ECOM_PLUGIN(<DLL name>,<resource file name>)</codeblock> <p>For example: </p> <codeblock id="GUID-B7B37728-A4C2-5DD0-B6E3-8F45272CC157" xml:space="preserve">ECOM_PLUGIN(foo.dll,12345abc.rsc)</codeblock> <p>Note that the resource file name is specified using the <codeph><DLL-uid>.rsc</codeph> format. </p> <p>Use of this keyword allows <codeph>BUILDROM</codeph> to perform special handling of ECom plug-ins. In |
|
144 particular, it allows <codeph>BUILDROM</codeph> optionally to create |
|
145 a static plug-in information (SPI) file, which contains all the resource |
|
146 registration files for ROM-based plug-ins. This allows ECom to be |
|
147 more efficient, as it can use the SPI file to find all ROM-based plug-ins |
|
148 and not have to scan the file system for them. BUILDROM implements |
|
149 this using the <xref href="GUID-6843109A-1567-5287-9AFF-3AE5E80334AF.dita#GUID-6843109A-1567-5287-9AFF-3AE5E80334AF/GUID-04F39AC1-3947-5C80-90BB-55CDF4D34571">spidata</xref> keyword. </p> <p>Note that as part of the ROM creation |
|
150 process, it is possible to add support for multiple languages. This |
|
151 affects how ECom resource files are specified by BUILDROM: </p> <ul> |
|
152 <li id="GUID-96C7FC54-5652-5CCC-9CAA-DC8F485B57CA"><p>If an SPI file |
|
153 is being created the <codeph>ECOM_PLUGIN</codeph> lines are processed |
|
154 at an intermediate BUILDROM stage to produce: </p> <codeblock id="GUID-64381884-1F25-515B-9149-5124BC3CADCD" xml:space="preserve">spidata=MULTI_LINGUIFY( EXT sourcename destname ) <spi-id> <target-spi-dir></codeblock> <p>During the BUILDROM localisation stage these lines become: </p> <codeblock id="GUID-CA8D9809-F375-5056-A919-D69E59A1C263" xml:space="preserve">spidata = <source-file> <original-destination-file> <spi-id> <target-spi-dir></codeblock> <p>where <codeph><spi-id></codeph> has the extension .SPI for |
|
155 the default language, and the extension .S<varname>nn</varname> for |
|
156 all other language codes <varname>nn</varname>. This means that if |
|
157 multiple languages are being included in the ROM image there is an |
|
158 SPI file for each included language. </p> </li> |
|
159 <li id="GUID-63C3444C-F760-5F1E-A932-C8F0CEA5EA2D"><p>If an SPI file |
|
160 is not being created <codeph>ECOM_PLUGIN</codeph> lines are processed |
|
161 an intermediate BUILDROM stage to produce: </p> <codeblock id="GUID-C32115C6-CEB4-5A5F-9240-35368276F645" xml:space="preserve">data=MULTI_LINGUIFY( EXT sourcename destname )</codeblock> <p>During the BUILDROM localisation stage these lines become: </p> <p> <codeph>data=sourcename.Enn destname.EXT</codeph> for the default |
|
162 language code </p> <p> <codeph>data=sourcename.Enn destname.Enn</codeph> for all other language codes <varname>nn</varname>. </p> </li> |
|
163 </ul> </section> |
|
164 <section id="GUID-7FB63AF4-EEAF-538E-8E55-95CC6CA9091B"><title>EPOCROOT</title> <codeblock id="GUID-AEA1E441-8DEC-5F45-9BE3-E8147F1F73B4" xml:space="preserve">EPOCROOT</codeblock> <p> <i>BUILDROM only</i> </p> <p>A pre-defined substitution. This |
|
165 is replaced with the value of the EPOCROOT environment variable. </p> <p>Note that there is no UNDEFINE facility, and substitutions are |
|
166 applied in an unspecified order. </p> </section> |
|
167 <section id="GUID-14316103-95C6-50A2-A15C-4980979EBCF2"><title>epocwrapper</title> <codeblock id="GUID-0A447659-7A3A-55BF-B86E-86644CCF0648" xml:space="preserve">epocwrapper</codeblock> <p> <i>rombuild only</i> </p> <p>Indicates that a Symbian platform |
|
168 ROM wrapper is required </p> </section> |
|
169 <section id="GUID-1756F49A-2609-52C1-AC31-6CC0B2306069"><title>ERROR</title> <codeblock id="GUID-07B567F3-84A2-5ACD-939E-F6E2C1BFEB93" xml:space="preserve">ERROR <anything at all></codeblock> <p> <i>BUILDROM only</i> </p> <p>Prints the rest of the line following |
|
170 the ERROR keyword to standard output, and reports the source file |
|
171 name and the line number. In addition, it causes <codeph>BUILDROM</codeph> to terminate without attempting to create the ROM image(s). </p> </section> |
|
172 <section id="GUID-1374D944-1C79-5C23-B972-1B0BABA09450"><title>exattrib</title> <codeblock id="GUID-7B7E6EFC-1E48-5D92-ABBC-8041AB4F5936" xml:space="preserve">exattrib=U</codeblock> <p> <i>ROFSBUILD only</i> </p> <p>This keyword is used with the <xref href="GUID-A27BD4D8-8B0E-57C8-9C15-736109297DEA.dita#GUID-A27BD4D8-8B0E-57C8-9C15-736109297DEA/GUID-23851F44-7FAC-5B99-8D15-44099A61A4E4">data</xref> keyword to specify an additional attribute for the file |
|
173 being included in the ROM image. This attribute enables the file server |
|
174 to append the ROFS mounting information in the format, <codeph>file.ext[<mount_id>-00]</codeph> when registering the file. </p> <p>The following example shows how |
|
175 this keyword is used to set the attribute for a text file, which is |
|
176 copied to the ROM image: </p> <codeblock id="GUID-947FF981-CA3C-5D63-93FE-17AF4ECE5C89" xml:space="preserve">data=EPOCROOT##epoc32\rom\rofstest\hello8.txt Exattrib\test1.txt exattrib=U |
|
177 </codeblock> <p>Assuming that the <filepath>test1.txt</filepath> file |
|
178 is in the ROFS image and is the first one to be mounted by the file |
|
179 server, the file is included in the ROM image in the following format: </p> <codeblock id="GUID-2A1E6F77-9E14-5606-86C0-A73E11387B55" xml:space="preserve">z:\Exattrib\test1.txt[01-00]</codeblock> </section> |
|
180 <section id="GUID-B46B421D-4237-5053-BF27-66EA64EFAD92"><title>EXCLUDE_FEATURE</title> <codeblock id="GUID-DA793DC7-DB78-5EDF-A03E-B2516845DAA7" xml:space="preserve">EXCLUDE_FEATURE <feature name> [ SF <status flags> ] [ UD <user data> ] </codeblock> <p>Where <codeph><feature></codeph> is either the feature name |
|
181 or a feature uid value. </p> <p> <b>Note</b>: The space between the <codeph>keyword FEATURE</codeph> and <codeph><feature name></codeph> is |
|
182 optional. </p> <p> <codeph><status flags></codeph> is a 32 bit |
|
183 hex number indicating the status flags of the feature. Each bit in |
|
184 the status flag signifies the following: </p> <table id="GUID-69260F1E-5EEA-520B-83DD-38BF980AA7C2"> |
|
185 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/> |
|
186 <colspec colname="col2"/> |
|
187 <thead> |
|
188 <row> |
|
189 <entry>Bit</entry> |
|
190 <entry>Flag Name</entry> |
|
191 <entry>Value</entry> |
|
192 </row> |
|
193 </thead> |
|
194 <tbody> |
|
195 <row> |
|
196 <entry><p>0 </p> </entry> |
|
197 <entry><p>Supported </p> </entry> |
|
198 <entry><p>If the bit is set the feature is included, else the feature |
|
199 is excluded. </p> </entry> |
|
200 </row> |
|
201 <row> |
|
202 <entry><p>1</p> </entry> |
|
203 <entry><p>Upgradeable </p> </entry> |
|
204 <entry><p>This bit is reserved for future use. It will be used to |
|
205 upgrade a feature which is already associated to the device. </p> </entry> |
|
206 </row> |
|
207 <row> |
|
208 <entry><p>2</p> </entry> |
|
209 <entry><p>Modifiable </p> </entry> |
|
210 <entry><p>If the bit is set the feature is modified at run-time. The |
|
211 default flag values for such a feature are defined in a ROM image |
|
212 obey file. </p> </entry> |
|
213 </row> |
|
214 <row> |
|
215 <entry><p>3</p> </entry> |
|
216 <entry><p>Blacklisted </p> </entry> |
|
217 <entry><p>If the bit is set the feature is blacklisted, and cannot |
|
218 be changed at run-time. It signifies that if the feature appears in |
|
219 subsequent data files or plug-in info, it would be ignored. </p> <p>It also prevents a feature from being upgraded and it can never be |
|
220 changed/ overridden. If a feature is blacklisted, its upgradeable |
|
221 flag is not set. </p> </entry> |
|
222 </row> |
|
223 <row> |
|
224 <entry><p>4</p> </entry> |
|
225 <entry><p>Uninitialised </p> </entry> |
|
226 <entry><p>If the bit is set the flag supported state is not initialised |
|
227 at build-time, and it is initialised at run-time by system software. </p> <p>To set the supported flag of a specific feature, perform a runtime |
|
228 call to <codeph>RFeatureControl</codeph>. </p> </entry> |
|
229 </row> |
|
230 <row> |
|
231 <entry><p>5</p> </entry> |
|
232 <entry><p>Persisted </p> </entry> |
|
233 <entry><p>If the bit is set the flag value is preserved across reboot |
|
234 or system turn off period. </p> </entry> |
|
235 </row> |
|
236 <row> |
|
237 <entry><p>6-31 </p> </entry> |
|
238 <entry><p>Reserved </p> </entry> |
|
239 <entry><p>These bits are reserved for future use. </p> </entry> |
|
240 </row> |
|
241 </tbody> |
|
242 </tgroup> |
|
243 </table> <p> <codeph><user data></codeph> is a 32 bit hex number |
|
244 indicating the user data value associated with the feature. </p> <p> <i>BUILDROM only</i> </p> <p>The <b>EXCLUDE_FEATURE</b> keyword |
|
245 is used to mark a feature as excluded. </p> </section> |
|
246 <section id="GUID-1D8AC4CF-8EDA-538B-8A74-5A55CCDEE2AB"><title>extension[[HWVD]]</title> <codeblock id="GUID-26B88CD3-6BEB-5CCD-8BA4-5659295BAA65" xml:space="preserve">extension[[HWVD]] = <source-file> <destination-image-file> [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i> </p> <p>Defines a kernel-mode DLL that |
|
247 can have global data, the address of which is generated by <codeph>rombuild</codeph>. Extension files are connected together in a linked |
|
248 list, which allows the Kernel to load the extensions at boot time |
|
249 before the ROM file system is available. </p> <p>Note that the <codeph>HWVD</codeph> is optional but, if specified, must be enclosed within |
|
250 square brackets. </p> </section> |
|
251 <section id="GUID-1E15B489-2FF4-5C14-90B2-0EE66CBB7F7F"><title>extensionrofs</title> <codeblock id="GUID-30CBD9F3-B021-5A26-9C00-5BFC470BFE1C" xml:space="preserve">extensionrofs</codeblock> <p> <i>rofsbuild only</i> </p> <p>Marks the start of the definition |
|
252 of an optional extension ROFS. </p> </section> |
|
253 <section id="GUID-7780C1D5-92C0-58D1-9953-7231A760546E"><title>extensionrofsname</title> <codeblock id="GUID-8AE6D48E-5202-5B2F-9BC7-535325A771AE" xml:space="preserve">extensionrofsname = <filename></codeblock> <p> <i>rofsbuild only</i> </p> <p>Defines the name of the ROFS |
|
254 extension image. </p> <p>Any new files added after this keyword will |
|
255 appear in the extension. The files in the core can be renamed, hidden, |
|
256 and aliased by using the other keywords. </p> </section> |
|
257 <section id="GUID-0BDDFFBC-C045-5A1A-8DEC-7FBF6AEFFC64"><title>extensionrom</title> <codeblock id="GUID-E0D850A0-0B91-5A4C-B904-2AC8196BDFC3" xml:space="preserve">extensionrom = <rom-file-name></codeblock> <p> <i>rombuild only</i> </p> <p>This marks the start of an extension |
|
258 ROM section. A filename of "*" can be specified, which means use the |
|
259 file name specified on the <xref href="GUID-43852F38-4841-5E6F-927B-A38ED4424F0C.dita#GUID-43852F38-4841-5E6F-927B-A38ED4424F0C/GUID-29BEF45C-2361-5245-9184-0261B99B6FB1">romname</xref> keyword in a rom-information-statement </p> </section> |
|
260 <section id="GUID-A71135A8-C6A6-50DB-8081-8CCD5B6AC0CB"><title>externaltool</title> <codeblock id="GUID-4A76182B-1A07-5C3B-8403-59C9F7910873" xml:space="preserve">externaltool=<toolname></codeblock> <p> <i>BUILDROM only</i> </p> <p>Used for invoking external tools |
|
261 through the IBY file keyword externaltool, specifying the list of |
|
262 toolnames each seperated by a comma. <codeph>externaltool=toolname1, |
|
263 toolname2,... toolnameN</codeph> </p> <p>The same invocation can |
|
264 be achieved alternatively by using <xref href="GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463.dita#GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463/GUID-3E50F8DA-36D3-5E3D-B229-F841EF4AC47D">BUILDROM</xref> command-line option <codeph>-e<toolname>.</codeph> </p> </section> |
|
265 <section id="GUID-1D289928-36B0-55D6-A061-7D01C6E5802A"><title>fattable</title> <codeblock id="GUID-7F17C3F3-4CF9-5268-BCFB-4B2B99F7464B" xml:space="preserve">fattable=<number of FAT tables></codeblock> <p> <i>rofsbuild only</i> </p> <p>Configures the number of FAT |
|
266 tables for the file system in the data-drive image. </p> </section> |
|
267 <section id="GUID-AA809069-1D03-5578-8409-314DD3D27FD5"><title>FEATURE</title> <codeblock id="GUID-216E30B1-1105-5E89-87C8-A2BF1FBE7FC2" xml:space="preserve">FEATURE <feature name> [ SF <status flags> ] [ UD <user data> ]</codeblock> <p>Where <codeph><feature></codeph> is either the feature name |
|
268 or the feature uid value. </p> <p> <b>Note</b>: The space between |
|
269 the <codeph>keyword FEATURE</codeph> and <codeph><feature name></codeph> is optional. </p> <p> <codeph><status flags></codeph> is a 32 |
|
270 bit hex number indicating the status flags of the feature. Each bit |
|
271 in the status flag signifies the following: </p> <table id="GUID-CDA5C906-4B45-5BCF-9923-37D7FF042BF0"> |
|
272 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/> |
|
273 <colspec colname="col2"/> |
|
274 <thead> |
|
275 <row> |
|
276 <entry>Bit</entry> |
|
277 <entry>Flag Name</entry> |
|
278 <entry>Value</entry> |
|
279 </row> |
|
280 </thead> |
|
281 <tbody> |
|
282 <row> |
|
283 <entry><p>0 </p> </entry> |
|
284 <entry><p>Supported </p> </entry> |
|
285 <entry><p>If the bit is set the feature is included, else the feature |
|
286 is excluded. </p> </entry> |
|
287 </row> |
|
288 <row> |
|
289 <entry><p>1</p> </entry> |
|
290 <entry><p>Upgradeable </p> </entry> |
|
291 <entry><p>This bit is reserved for future use. It will be used to |
|
292 upgrade a feature which is already associated to the device. </p> </entry> |
|
293 </row> |
|
294 <row> |
|
295 <entry><p>2</p> </entry> |
|
296 <entry><p>Modifiable </p> </entry> |
|
297 <entry><p>If the bit is set the feature is modified at run-time. The |
|
298 default flag values for such a feature are defined in a ROM image |
|
299 obey file. </p> </entry> |
|
300 </row> |
|
301 <row> |
|
302 <entry><p>3</p> </entry> |
|
303 <entry><p>Blacklisted </p> </entry> |
|
304 <entry><p>If the bit is set the feature is blacklisted, and cannot |
|
305 be changed at run-time. It signifies that if the feature appears in |
|
306 subsequent data files or plug-in info, it would be ignored. </p> <p>It also prevents a feature from being upgraded and it can never be |
|
307 changed/ overridden. If a feature is blacklisted, its upgradeable |
|
308 flag is not set. </p> </entry> |
|
309 </row> |
|
310 <row> |
|
311 <entry><p>4</p> </entry> |
|
312 <entry><p>Uninitialised </p> </entry> |
|
313 <entry><p>If the bit is set the flag supported state is not initialised |
|
314 at build-time, and it is initialised at run-time by system software. </p> <p>To set the supported flag of a specific feature, perform a runtime |
|
315 call to <codeph>RFeatureControl</codeph>. </p> </entry> |
|
316 </row> |
|
317 <row> |
|
318 <entry><p>5</p> </entry> |
|
319 <entry><p>Persisted </p> </entry> |
|
320 <entry><p>If the bit is set the flag value is preserved across reboot |
|
321 or system turn off period. </p> </entry> |
|
322 </row> |
|
323 <row> |
|
324 <entry><p>6-31 </p> </entry> |
|
325 <entry><p>Reserved </p> </entry> |
|
326 <entry><p>These bits are reserved for future use. </p> </entry> |
|
327 </row> |
|
328 </tbody> |
|
329 </tgroup> |
|
330 </table> <p> <codeph><user data></codeph> is a 32 bit hex number |
|
331 indicating the user data value associated with the feature. </p> <p> <i>BUILDROM only</i> </p> <p>The <b>FEATURE</b> keyword is used |
|
332 to mark a feature as included. </p> </section> |
|
333 <section id="GUID-ECDEA52A-1357-5173-AA80-4E34A83A4511"><title>file[[HWVD]]</title> <codeblock id="GUID-7196504A-CE79-5EC6-BA7E-9E6F6F1FCDBE" xml:space="preserve">file[[HWVD]] = <source-file> <destination-image-file> [File-attribute-list] [Override-Attribute-list] [paged | unpaged]</codeblock> <p> <i>rombuild and rofsbuild</i> </p> <p>A standard executable |
|
334 file, for example, a <filepath>.exe</filepath> or a <codeph>.dll</codeph>, in PE format or E32 image format. Executable files are stripped |
|
335 of their relocation information prior to being stored in the ROM. |
|
336 The relocation information is not necessary in the ROM because all |
|
337 files are executed in place with an address that is determined at |
|
338 ROM build time. Use the modifiers <codeph>paged</codeph> and <codeph>unpaged</codeph> to specify whether to page the executables or not. |
|
339 You can also use the <filepath>MMP</filepath> file keywords <codeph>paged</codeph> and <codeph>unpaged</codeph> to specify whether to |
|
340 page an executable or not. </p> <p>For example, the following entry |
|
341 in the Obey file provides the source and destination locations of |
|
342 the file <filepath>MyLibrary.dll</filepath> and marks the DLL as <codeph>unpaged</codeph>. </p> <codeblock id="GUID-E2AE0C0E-E2A8-5ADF-9F12-96F21D5F34D3" xml:space="preserve">file=ABI_DIR\DEBUG_DIR\MyLibrary.dll \sys\bin\MyLibrary.dll unpaged</codeblock> <p>Notes: </p> <ul> |
|
343 <li id="GUID-8B7F564E-445C-5E30-BF66-6A54A96AF6C1"><p>the <codeph>HWVD</codeph> is optional but, if specified, must be enclosed within |
|
344 square brackets. </p> </li> |
|
345 <li id="GUID-8BA09533-EE23-597A-A294-4977B50362B1"><p>the information |
|
346 required to relocate the file is not preserved; this keyword provides |
|
347 a fully resolved uncompressed file. </p> </li> |
|
348 </ul> </section> |
|
349 <section id="GUID-B4C3E29E-9E4A-565E-B9EC-B078894521B6"><title>filecompressnone</title> <codeblock id="GUID-29E83E81-9DEB-5E2B-979E-749DFE444762" xml:space="preserve">filecompressnone=\Epoc32\release\<platform><build><target directory><source file> <destination file></codeblock> <p> <i>rombuild only</i> </p> <p>Doesn't compress the resulting |
|
350 ROM image. </p> <p>For example: </p> <codeblock id="GUID-0AC7EA96-8B92-56B9-8D62-23EDA26F2A6F" xml:space="preserve">filecompressnone=\epoc32\release\ARMV\UREL\TEST\RUNTEST.EXE sys\bin\RUNTEST.EXE</codeblock> </section> |
|
351 <section id="GUID-5B670D2C-9295-556A-BF56-B1018EB79CCE"><title>filecompressinflate</title> <codeblock id="GUID-E0C7D396-3E1B-5C7E-979A-C0C949308542" xml:space="preserve">filecompressinflate=\Epoc32\release\<platform><build><target directory><source file> <destination file></codeblock> <p> <i>rombuild only</i> </p> <p>Compresses the resulting ROM image |
|
352 using the Deflate, Huffman+LZ77 algorithm. </p> <p>For example: </p> <codeblock id="GUID-9D881B0E-1B8A-5914-A28F-9DCBE499E11E" xml:space="preserve">filecompressinflate=\epoc32\release\ARMV\UREL\TEST\RUNTEST.EXE sys\bin\RUNTEST.EXE</codeblock> </section> |
|
353 <section id="GUID-6003A5F3-0537-53DF-BEC4-13D310FD944D"><title>filecompressbytepair</title> <codeblock id="GUID-051F3506-C0AD-5C30-ABAA-AC7BD46E0925" xml:space="preserve">filecompressbytepair=\Epoc32\release\<platform><build><target directory><source file> <destination file></codeblock> <p> <i>rombuild only</i> </p> <p>Compresses the resulting ROM image |
|
354 using the bytepair algorithm. </p> <p>For example: </p> <codeblock id="GUID-BB37B728-0A9A-5C19-9978-005C3BD3BF7F" xml:space="preserve">filecompressbytepair=\epoc32\release\ARMV\UREL\TEST\RUNTEST.EXE sys\bin\RUNTEST.EXE</codeblock> </section> |
|
355 <section id="GUID-B9B523ED-4D61-5EBF-9EFC-C47F8FA78C80"><title>filecompress[[HWVD]]</title> <codeblock id="GUID-30AAFC4F-7AD6-5E36-9CF3-4280D36FFA9B" xml:space="preserve">filecompress[[HWVD]] = <source-file> <destination-file> [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i> </p> <p>An XIP (execute-in-place) executable |
|
356 to be loaded into the ROM in compressed format. Note that the information |
|
357 required to relocate the file is preserved. </p> </section> |
|
358 <section id="GUID-9CAD6F80-7817-56E6-BB06-DB70B0A1EBF1"><title>fileuncompress[[HWVD]]</title> <codeblock id="GUID-A7B40C3C-8D7A-5EC7-96E4-4E7B5398DB07" xml:space="preserve">fileuncompress[[HWVD]] = <source-file> <destination-file> [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i> </p> <p>XIP (execute-in-place) executable |
|
359 to be loaded into the ROM uncompressed format. Note that the information |
|
360 required to relocate the file is preserved. </p> </section> |
|
361 <section id="GUID-37403D0E-65E7-5998-A568-CC5839B7ACDC"><title>fixed</title> <codeblock id="GUID-6232741F-FCA0-5E29-9287-D34B03D66822" xml:space="preserve">fixed</codeblock> <p> <i>rombuild only</i> </p> <p>This executable is loaded as a |
|
362 fixed address process, and has its data fixed in kernel space (high |
|
363 memory). The data of normal executables is paged in and out of low |
|
364 memory as the executable runs. Fixing a chosen subset of the system |
|
365 servers saves context switch time, and speeds execution considerably. </p> </section> |
|
366 <section id="GUID-F594BE86-6FFD-4939-B8B9-5DC45C24607C"><title>formatversion</title><p><codeblock xml:space="preserve">formatversion= <format version></codeblock></p><p>Specifies the SMR image format version. This value is checked by |
|
367 the SMR consumers (such as HCR) at runtime to ensure code compatibility |
|
368 with image or data format.</p></section> |
|
369 </conbody></concept> |