On some platforms (observed in a small subset of Microsoft Azure (Hyper-V) virtual machines), the RTC appears to be incapable of generating an interrupt via the legacy PIC. The RTC status registers show that a periodic interrupt has been asserted, but the PIC IRR shows that IRQ8 remains inactive. On such systems, iPXE will currently freeze during the "iPXE initialising devices..." message. Work around this problem by checking that RTC interrupts are being raised before returning from rtc_entropy_enable(). If no interrupt is seen within 100ms, then we assume that the RTC interrupt mechanism is broken. In these circumstances, iPXE will continue to initialise but any subsequent attempt to generate entropy will fail. In particular, HTTPS connections will fail with an error indicating that no entropy is available. Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
23 |
|
23 |
|
24 |
|
24 |
|
25 |
|
25 |
|
|
26 |
|
|
26 |
|
27 |
|
27 |
|
28 |
|
28 |
|
29 |
|
|
|
||
31 |
|
31 |
|
32 |
|
32 |
|
33 |
|
33 |
|
|
34 |
|
|
|
35 |
|
|
34 |
|
36 |
|
35 |
|
37 |
|
36 |
|
38 |
|
37 |
|
39 |
|
38 |
|
40 |
|
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
39 |
|
44 |
|
40 |
|
45 |
|
41 |
|
46 |
|
42 |
|
47 |
|
43 |
|
48 |
|
44 |
|
49 |
|
|
50 |
|
|
|
51 |
|
|
|
52 |
|
|
|
53 |
|
|
45 |
|
54 |
|
46 |
|
55 |
|
47 |
|
56 |
|
|
|
||
96 |
|
105 |
|
97 |
|
106 |
|
98 |
|
107 |
|
|
108 |
|
|
|
109 |
|
|
|
110 |
|
|
|
111 |
|
|
99 |
|
112 |
|
100 |
|
113 |
|
101 |
|
114 |
|
|
|
||
125 |
|
138 |
|
126 |
|
139 |
|
127 |
|
140 |
|
|
141 |
|
|
|
142 |
|
|
|
143 |
|
|
|
144 |
|
|
|
145 |
|
|
|
146 |
|
|
|
147 |
|
|
|
148 |
|
|
|
149 |
|
|
|
150 |
|
|
|
151 |
|
|
|
152 |
|
|
|
153 |
|
|
|
154 |
|
|
|
155 |
|
|
|
156 |
|
|
|
157 |
|
|
|
158 |
|
|
|
159 |
|
|
|
160 |
|
|
|
161 |
|
|
|
162 |
|
|
|
163 |
|
|
|
164 |
|
|
|
165 |
|
|
|
166 |
|
|
|
167 |
|
|
|
168 |
|
|
|
169 |
|
|
|
170 |
|
|
128 |
|
171 |
|
129 |
|
172 |
|
130 |
|
173 |
|
131 |
|
174 |
|
132 |
|
175 |
|
133 |
|
176 |
|
|
177 |
|
|
134 |
|
178 |
|
|
179 |
|
|
135 |
|
180 |
|
136 |
|
181 |
|
137 |
|
182 |
|
138 |
|
183 |
|
|
184 |
|
|
|
185 |
|
|
|
186 |
|
|
|
187 |
|
|
139 |
|
188 |
|
|
189 |
|
|
|
190 |
|
|
|
191 |
|
|
|
192 |
|
|
|
193 |
|
|
|
194 |
|
|
140 |
|
195 |
|
141 |
|
196 |
|
142 |
|
197 |
|
|
|
||
145 |
|
200 |
|
146 |
|
201 |
|
147 |
|
202 |
|
|
203 |
|
|
148 |
|
204 |
|
149 |
|
205 |
|
150 |
|
206 |
|