summaryrefslogtreecommitdiff
path: root/wortel/ChangeLog
blob: fe6a39ffbbecaf8653d2ddfc5f8d952bcc79c177 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
2007-08-14  Marcus Brinkmann  <marcus@gnu.org>

	* ia32-shutdown.c (reset): Swap arguments to outb_p.

2005-04-17  Matthieu Lemerre <racin@free.fr>

	* wortel.c (serve_bootstrap_requests): Implement
	WORTEL_MSG_SPACE_CONTROL.

2005-04-06  Neal H. Walfield  <neal@gnu.org>

	* startup.c: Include <hurd/physmem.h>.
	(allocate): Use hurd_pm_container_allocate_id, not a magic number.
	(map): Likewise for hurd_pm_container_map_id.

2005-03-09  Neal H. Walfield  <neal@gnu.org>

	* startup.c (map): Update argument marshalling of the
	container map RPC.

2005-02-12  Marcus Brinkmann  <marcus@gnu.org>

	* Makefile.am (boot_PROGRAMS): Move startup to ...
	(noinst_PROGRAMS): ... this new target.

2005-01-30  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c (start_elf): If MOD is MOD_ROOT_FS, set up the
	bootstrap information.

2005-01-27  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c (start_elf): Fix the change that removed the extra zero
	byte to argz - it removed all zero bytes between the arguments as
	well.
	
	* wortel.c (start_elf): Initialize PHYS_STARTUP->flags.  New
	variables PHDR and PHDR_LEN.  Calculate the virtual address of the
	program header if it is loaded and use them for PHYS_STARTUP->phdr
	and PHYS_STARTUP->phdr_len.

	* wortel-intern.h (struct wortel_module): Remove members
	HEADER_LOC and HEADER_SIZE.

	* startup.c (map): Loop over map requests until we mapped the
	whole range in case not all map items fit into a single reply
	message.	

2005-01-26  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c (start_elf): Calculate the size of the file part of a
	mapping.

	* wortel.c (start_elf): Do not add an extra zero byte to argz.

	* wortel.c (start_elf): Initialize PHYS_STARTUP->envz and
	PHYS_STARTUP->envz_len.

2005-01-11  Neal H. Walfield  <neal@gnu.org>

	* startup.c (physmem_map): Rename . . .
	(allocate): . . . to this.  Rewrite it.
	(map): New function.
	(cmain): Call map, not physmem_map.
	* wortel.c (setup_components): Allocate an extra thread for the
	task server.
	(start_elf): Update assert.

2005-01-10  Bas Wijnen  <shevek@fmf.nl>

	* wortel.h (wortel_get_mem): Change grant_items to map_items to
	match their use.

2005-01-07  Neal H. Walfield  <neal@gnu.org>

	* output.h (debug): Preface __VA_ARGS__ with ## thereby making it
	optional.

2004-11-17  Neal H. Walfield  <neal@gnu.org>

	* Makefile.am (bootdir): New variable.
	(boot_PROGRAMS): Use this instead of noinst_PROGRAMS.

2004-11-17  Neal H. Walfield  <neal@gnu.org>

	* output.h (debug): Include program_name and __FUNCTION__ in
	output.

2004-11-02  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c (deva_master): New global variable.
	(serve_bootstrap_requests): New variable CUR_DEVA.  Handle
	WORTEL_MSG_GET_DEVA_CAP_REQUEST and WORTEL_MSG_GET_DEVA_CAP_REPLY.
	When replying to deva's bootstrap request, give it all the info we
	have.
	
	* wortel.c (start_elf): Initialize PHYS_STARTUP->task.

2004-11-01  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.h (wortel_get_cap_reply, wortel_get_task_cap_reply,
	wortel_get_deva_cap_reply): Remove unused variable NR_THREADS.
	* wortel.c (start_elf): Remove unused variable min_page_size.
	(start_elf): Add parentheses to silence gcc warning.  Change
	format string to match argument.
	(serve_bootstrap_requests): Initialize bootstrap_final_physmem and
	bootstrap_final_task.

2004-10-28  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.h: Include <stdbool.h>.
	(WORTEL_MSG_GET_TASK_CAP): Renamed into
	WORTEL_MSG_BOOTSTRAP_FINAL.
	(WORTEL_MSG_GET_DEVA_CAP_REQUEST, WORTEL_MSG_GET_DEVA_CAP_REPLY):
	Define new macros.
	(wortel_get_deva_cap_request, wortel_get_deva_cap_reply,
	wortel_bootstrap_final): New functions.
	(wortel_get_task_cap): Removed.
	* wortel.c (start_elf, start_deva): New functions.
	(start_task): Bunch of it is now in start_elf.
	(serve_bootstrap_requests): Handle WORTEL_MSG_BOOTSTRAP_FINAL, not
	WORTEL_MSG_GET_TASK_CAP.  Implement support for starting deva.
	Implement WORTEL_MSG_GET_DEVA_CAP_REQUEST and
	WORTEL_MSG_GET_DEVA_CAP_REPLY.
	* wortel-intern.h (struct wortel_module): New member deva.

2004-10-27  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.h (WORTEL_MSG_GET_FIRST_FREE_THREAD_NO,
	WORTEL_MSG_GET_TASK_CAP_REQUEST, WORTEL_MSG_GET_TASK_CAP_REPLY):
	Define new macro.
	(wortel_get_first_free_thread_no, wortel_get_task_cap_request,
	wortel_get_task_cap_reply): New functions.
	* wortel.c (task_master, task_wortel, first_free_thread_no): New
	global variables.
	(setup_components): Initialize first_free_thread_no.
	(serve_bootstrap_requests): Handle
	WORTEL_MSG_GET_FIRST_FREE_THREAD_NO.
	(start_task): Initialize PHYS_STARTUP->utcb_area.  Correctly
	calculate filesz and memsz, and clean out the BSS section.  Access
	cap_handle members of the startup data instead cap_id.
	(serve_bootstrap_requests): Store the message before checking for
	a page fault message.  Handle the messages
	WORTEL_MSG_GET_FIRST_FREE_THREAD_NO,
	WORTEL_MSG_GET_TASK_CAP_REQUEST, WORTEL_MSG_GET_TASK_CAP_REPLY.
	
	* startup.c (physmem_map): Change type of argument CONT to
	hurd_cap_handle_t.
	(cmain): In the startup data, access cap_handle members, not
	cap_id members.

2004-10-26  Marcus Brinkmann  <marcus@gnu.org>

	* startup.c: Rewritten to match new startup data format.
	* wortel.c: Include <hurd/startup.h>.
	(start_task): Large chunks rewritten to match new
	startup data format.
	
2004-10-20  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c: Include "startup.h".
	(STARTUP_CODE_SIZE_LOG2, STARTUP_CODE_SIZE): Do not
	define.
	(setup_components): Use HURD_STARTUP_SIZE_LOG2 instead
	STARTUP_CODE_SIZE_LOG2.

	* startup.c (cmain): Include "startup.h" and use the
	HURD_STARTUP_FPAGE_SIZE and HURD_STARTUP_FPAGE_ADDR constants
	instead of hard-coded numbers.
	(struct map_item): Remove struct.

2004-10-07  Marcus Brinkmann  <marcus@gnu.org>

	* ia32-cmain.c (find_components): Add one to size argument to
	ADD_UNUSED_AREA.
	Submitted by Bas Wijnen <b.wijnen@phys.rug.nl>.

2004-04-26  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c: Include wortel-intern.h, not wortel.h.  Include
	<hurd/wortel.h>.
	(start_physmem): Change type of cap_id to wortel_cap_id_t.
	(serve_bootstrap_requests): Rewritten for new RPC interface.
	* wortel.h: Rename to ...
	* wortel-intern.h: ... this.
	* ia32-cmain.c: Include wortel-intern.h, not wortel.h.
	* startup.c: Likewise.
	* wortel.h: New file.
	* headers.m4: New file.

2004-04-15  Marcus Brinkmann  <marcus@gnu.org>

	* Makefile.am (startup-bin.o): Add dependency on startup.
	* startup.c (struct map_item): New struct.
	(physmem_map): New function.
	(cmain): Add new arguments argc, argv, mapc, mapv.
	Request mappings for all map items.  Do not call wortel.
	* wortel.c: Include "elf.h".
	(start_task): Rewritten.
	(serve_bootstrap_requests): Zero out the unused part of the last
	page in the data of every container.  Pass fpages in correct order.

2004-04-11  Marco Gerards  <metgerards@student.han.nl>

	* wortel.c (serve_requests): Initialize from specifier.

2004-04-11  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c (serve_bootstrap_requests): Initialize from specifier.
	Reported by Marco Gerards.

	* Makefile.am (wortel_SOURCES): Add startup-bin.S.
	(noinst_PROGRAMS): Add startup.
	(STARTUP_ARCH_SOURCES): New variable.
	(startup_CPPFLAGS, startup_SOURCES, startup_LDFLAGS)
	(startup_LDADD): New variables.
	* startup-bin.S, ia32-startup.S, startup.c: New files.
	* wortel.c (startup_bin_start, startup_bin_end): New declarations.
	(STARTUP_LOAD_ADDR): New macro.
	(start_task): New function.
	(WORTEL_MSG_GET_TASK_CAP): New macro.
	(serve_bootstrap_requests): Implement the first half of the
	WORTEL_MSG_GET_TASK_CAP RPC.

2004-04-10  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.h (struct wortel_module): New member task_id.
	(enum wortel_module_type): New modules MOD_DEVA and
	MOD_DEVA_STORE.
	(MOD_IS_TASK): New macro.
	* wortel.c: Include <assert.h>, <l4/thread-start.h> and
	<l4/pagefault.h> Throughout the whole file, use map items instead
	of grant items, use L4_FPAGE_SPAN_MAX instead MAX_FPAGES, and use
	l4_fpage_span instead make_fpages.
	(mod_names): Add names for MOD_DEVA and MOD_DEVA_STORE.
	(MAX_FPAGES): Removed.
	(make_fpages): Removed.
	(start_components): Split up into ...
	(setup_components): ... this new function ...
	(start_physmem): ... and this.
	(serve_bootstrap_requests): Rewrite the container creation.
	(main): Call setup_components and start_physmem instead
	start_components.
	
2004-04-09  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c (serve_bootstrap_requests): Replace start and end in
	the WORTEL_MSG_GET_CAP_REQUEST reply with startup.
	(physmem_master): Change type to hurd_cap_handle_t.
	(hurd_task_id_t): Remove typedef.
	(HURD_TASK_ID_NULL): Remove macro.

	* wortel.h: Include <hurd/types.h>, not <hurd/caps.h>.
	(struct wortel_module): New member startup and startup_cont.
	Change typ of member mem_cont and task_ctrl to hurd_cap_handle_t.

2004-03-30  Marcus Brinkmann  <marcus@gnu.org>

	* loader.c (loader_elf_dest, loader_elf_load): Use 32 and 64
	instead of _L4_WORDSIZE_32 and _L4_WORDSIZE_64.
	
2004-03-19  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.c (WORTEL_MSG_GET_THREADS): New.
	(serve_bootstrap_requests): Implement it.

	* wortel.h (struct wortel_module): Remove member main_thread and
	add member nr_extra_threads.
	* wortel.c (start_components): Use server_thread instead of
	main_thread, set up nr_extra_threads.  Set up the second physmem
	thread.

2004-03-16  Marcus Brinkmann  <marcus@gnu.org>

	* sigma0.c: Rewritten to use new interface.
	* wortel.c (make_fpages): Use L4_FPAGE_FULLY_ACCESSIBLE, not
	l4_fully_accessible.
	(start_components): Use new message interface.
	(serve_bootstrap_requests): Likewise.
	* loader.h (loader_get_memory_desc): Change return type to
	l4_memory_desc_t *.
	* wortel.c (loader_get_memory_desc): Change return type to
	l4_memory_desc_t *.
	* loader.c (mem_check): Change type of MEMDESC to l4_memory_desc_t *.
	* shutdown.c (halt): Use L4_NEVER, not l4_never.
	* ia32-cmain.c (add_unused_area): Use L4_FPAGE_FULLY_ACCESSIBLE,
	not l4_fully_accessible.

2003-10-26  Marcus Brinkmann  <marcus@gnu.org>

	* Makefile.am (AM_CPPFLAGS): Removed.
	(wortel_CFLAGS): Rename to ...
	(wortel_CPPFLAGS): Add AM_CPPFLAGS.  Change
	-I$(top_srcdir)/include to -I$(top_builddir).

2003-10-12  Marcus Brinkmann  <marcus@gnu.org>

	* config.m4: New file.
	* Makefile.am (wortel_LDFLAGS): Replace load address with
	@HURD_WORTEL_LOAD_ADDRESS@.

2003-10-04  Marcus Brinkmann  <marcus@gnu.org>

	* loader.c: Include <l4/kip.h>.
	(mem_check): Change type of address args to l4_word_t.  Use
	l4_memory_desc_low and l4_memory_desc_high to determine range of
	memory descriptor.  The high address is inclusive now, so take
	this into account.  Allow conventional memory descriptors to
	override non-conventional.  Use L4_PRIxWORD.

2003-10-01  Johan Rydberg  <jrydberg@night.trouble.net>

	* wortel.c (serve_bootstrap_requests): Only throw away page zero
	if it list as conventinal in memory descriptors.

2003-09-29  Marcus Brinkmann  <marcus@gnu.org>

	* loader.c (loader_elf_load): Fix wordsize check.  Submitted by
	Johan Rydberg.

2003-09-25  Marcus Brinkmann  <marcus@gnu.org>

	* loader.c [HAVE_CONFIG_H]: Include <config.h>.
	(loader_elf_load): Rewritten architecture check of ELF binary,
	support PPC now.

2003-09-25  Marcus Brinkmann  <marcus@gnu.org>

	* elf.h: Remove cruft.

2003-09-21  Marco Gerards  <metgerards@student.han.nl>

	* output-serial.c (serial_init): Make sure the order of the
	arguments of outb are correct.

	* Makefile.am (AM_CPPFLAGS): New variable.

2003-09-20  Marcus Brinkmann  <marcus@gnu.org>

	* wortel.h (MAX_UNUSED_FPAGES): Move to here from wortel.c.
	(wortel_unused_fpages, wortel_unused_fpages_count): Declare here.
	* ia32-cmain.c: Include "sigma0.h".
	(add_unused_area): New function.
	(find_components): Use add_unused_area to add unused fpages to
	pool.

2003-09-19  Marcus Brinkmann  <marcus@gnu.org>

	* output-serial.c: Include <stdlib.h>.

	* Makefile.am (wortel_SOURCES): Remove getpagesize.c.
	* getpagesize.c: File removed.
	* wortel.c (make_fpages): Use l4_min_page_size, not getpagesize().
	(load_components): Likewise.
	(serve_bootstrap_requests): Likewise.
	(MAX_FPAGES): Use L4_MIN_PAGE_SIZE_LOG2 instead
	hard-coded 10.
	(serve_bootstrap_requests): Likewise.

	* Makefile.am (wortel_CFLAGS): Add -I$(top_srcdir)/libc-parts.
	* output.c: Include <stdlib.h> and <string.h>.
	* output.h (struct output_driver): Add CFG argument to INIT
	function.
	(output_init): Make NAME argument const, rename it to DRIVER.
	* output.c (output_init): Likewise.  Only check if the prefix of
	DRIVER is a driver name.  Then skip a trailing comma and pass the
	remainder via the new variable DRIVER_CFG to the init function of
	the driver.
	* output-vga.c (vga_init): Add CFG argument.
	* output-serial.c: New file by Daniel Wagner <wagi@gmx.de>.