📄 changelog
字号:
Thu Jan 23 09:07:26 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * Some devices support removable media. Add hooks to the disk device so that it supports this. * device.c (device_add_string_array_property, device_find_string_array_property): New functions, manipulate properties containing an array of strings. (device_find_string_property): Allow a string array. (device_init_static_properties): Update. (device_init_runtime_properties): Update. * hw_disk.c (hw_disk_ioctl): Add ioctl for changing the disk media. If no file image is specified, use the next one in the image property list. (hw_disk_init_address): Change the file property so that it is a string array - use the first entry for the initial file image. * tree.c (print_string_aray_property): New function - print a string array. (print_properties): Adjust. (print_string): Write a string, handling double quotes. * device.h: Define an ioctl to `change-media' with an optional new media image. * hw_disk.c: Allow floppy disk devices to be specified. * psim.c (psim_command): New function, parse more complex psim commands such as "change-media" and "trace". * sim_calls.c (sim_do_command): Use.Wed Jan 22 09:38:33 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * For expressions like (RA == 0) that are entered in to the cache as RA_is_0. If possible generate the result of the expression so that the compiler gets a better chance of eliminating dead branches. * gen-icache.c (print_icache_extraction): For a cache entry of the form <name>_is_<const> where it is a boolean field, generate the result of the expression instead of the expression its self. (print_icache_body): Remove code that was looking for *_is_0 and then generating corresponding definitions. * gen-icache.c (print_icache_struct): If there is no cache, do not output expressions in idecode.h file. * gen-icache.c (print_icache_body): Output them here. * ppc-opcode-complex: Clarify constant values for SPR==LR register expansion. * ppc-cache-rules (RA_is_0, SPR_is_256): Two new cache entries.Wed Jan 22 12:24:52 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * The code that put values in and extracted values from the cache was too compilicated. The cache table did not allow values to be computed from cache entries. #defines could only be used when a cache was present, remove the restriction. * ld-cache.h, ld-cache.c: Add a new cache entry type - SCRATCH. A scratch variable is defined when a cache entry is beinf filled. Change the definition of a COMPUTE variable to be defined when the cache entry is being used. * gen-icache.c: Update. * ld-cache.h, ld-cache.c: Change field names so that their meaning is more obvious. old_name->field_name, new_name->derived_name. * gen-icache.c: Update * gen-icache.h, gen-icache.c (print_icache_body): Make the three different types of cache code - put into cache, extract from cache, no cache - an explicit argument to print_icache_body. * gen-icache.c (print_icache_extraction): Ditto. * gen-semantics.c (print_c_semantic): Update use. * gen-idecode.c (print_jump_insn): Update use. * gen-icache.c (print_icache_function): Update use. * igen.c (main): Change 'R' option so that it does not force the cache. * configure.in (enable-sim-icache): Clarify description. Make #define one of the defaults regardless of the cache. Probably should revamp and add a separate option.Tue Jan 21 13:26:10 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * pk_disklabel.c (block_is_fdisk): Tidy up traces - use dos partition numbering. (pk_disklabel_create_instance): Partition 1..4 are valid - not 1..3. (is_iso9660): New function, verify a CD9660 File system. (pk_disklabel_create_instance): Start expanding so that active partition selection is supported.Mon Jan 20 11:20:15 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * The cap object was retaining a reference to the instance of a device after it was deleted. Instead add and remove cap's from the cap db as they are created and deleted. This ensuring that a capibility is only used during the lifetime of the corresponding object. * cap.h, cap.c: Correct cap type - was signed32 should be signed_cell. * cap.c (cap_add, cap_remove): New methods for cap object that allow the explicit addition and removal of internal objects that the cap knows about. * cap.c (cap_init): Rewrite. Verify that the only objects remaining in the cap data base are those that were entered first. Thse objects will be the permenant ones. * device.c (device_init_address): Remember to initialize the cap database. * device.c (device_create_instance_from): Explicitly add device instances to the cap database. Simplify create code. (device_instance_delete): Explicitly remove device instances from the cap database. * device.c (device_create_from): Explicitly add a device to the cap data base. * device.c (device_create_from): Always set the cap members. * hw_disk.c: Output the instance when tracing. Sun Jan 19 16:44:29 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * tree.c (split_device_specifier): Add support for aliases when looking up a device. Now needs a device as an argument. (split_property_specifier): Ditto.Sun Jan 19 15:28:23 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * The memory "claim" and "release" methods take an address and size as arguments. These may be multi cell values. Initially fix the memory code so that they check/detect this. Leave the adjustment of any clients to later. * hw_memory.c (hw_memory_instance_claim, hw_memory_instance_release): Handle multi-cell memory devices. * hw_memory.c (hw_memory_instance_claim): Be tolerant towards the release of memory regions that were not claimed.Fri Jan 17 12:01:07 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * device.h, device.c (device_instance_call_method): Correct return type - can return either 0 or -1, hence should be a signed type. * device_table.h: Ditto. * hw_memory.c (hw_memory_instance_claim, hw_memory_instance_release): Update. * hw_disk.c (hw_disk_max_transfer, hw_disk_block_size, hw_disk_nr_blocks): Ditto. Fri Jan 17 11:50:13 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * emul_chirp.c (chirp_emul_claim): Implement using the "claim" method belonging to "/chosen/memory". (chirm_emul_release): Ditto. * Makefile.in (LIB_INLINE_SRC): Remove emul_* from list of files that are inlined. These modules are called via a table and are not made inline. * hw_init.c (update_for_binary_section): Fix failure to allocate memory used by the binary in real-mode executions. If "claim" property is present, allocate memory from the "/chosen/memory" device. * emul_chirp.c (emul_chirp_create): Specify that memory should be claimed when loading a real image. * hw_memory.c (hw_memory_instance_claim): Don't page align memory allocations. * hw_memory.c (hw_memory_instance_release): Avoid infinite loop when merging adjacent memory chunks.Thu Jan 16 08:51:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * vm.h (vm_data_map_read_buffer, vm_data_map_write_buffer): Add optional PROCESSOR & CIA args so that this routine also abort an access. * vm_n.h (vm_data_map_read_N, vm_data_map_write_N): For a miss-aligned access when a transfer fails abort. * emul_bugapi.c (emul_bugapi_do_write): Use emul_read_buffer instead of the vm_read_buffer. * emul_netbsd.c (do_write): Ditto. * emul_unix.c (do_unix_write): Ditto.Wed Jan 15 14:38:25 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * configure.in (--enable-sim-jump): Default is NULL and not -E. * configure: Regenerate. * basics.h (__attribute__): Enable attributes if GCC >= 2.6. (UNUSED): Only enable UNUSED if GCC >= 2.7. * gen-icache.c (print_icache_extraction): Print UNUSED macro instead of explicit __unused__ attribute. (print_icache_body): Ditto. * idecode_expression.h (FPSCR_BEGIN): Use UNUSED.Wed Jan 15 13:54:50 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * cpu.h, cpu.c (cpu_synchronize_context): Add CIA argument as reference point. * vm.c (vm_synchronize_context): Add PROCESSOR and CIA as arguments so that there is a reference point for recovery. (vm_synchronize_context): Pass processor+cia for errors. (om_unpack_sr): Ditto. (om_unpack_srs): Ditto. * vm.c (vm_create): Review error messages. * vm.c: Include "cpu.h" so that cpu_error is visible. * ppc-instructions (Return From Interrupt): Pass CIA. (Instruction Synchronize): Ditto. * psim.c (psim_init): Ditto.Wed Jan 15 12:25:11 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * cpu.h, cpu.c (cpu_error): Aborts simulation with error message, but also saves current processor state. * basics.h: Move #include <stdarg.h> to here from device_table.h. * interrupts.c (perform_oea_interrupt): Use. No longer loose CIA when simulation aborted. (program_interrupt): Ditto. (floating_point_unavailable_interrupt): Ditto. (alignment_interrupt): Ditto. (floating_point_assist_interrupt): Ditto. (perform_oea_interrupt): Ditto. (machine_check_interrupt): Ditto.Tue Jan 14 12:19:10 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * ppc-instructions (Move from Special Purpose Register): Support move from DEC.Mon Jan 13 16:58:12 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * debug.h, debug.c: Add "interrupts" trace option. * interrupts.c (data_storage_interrupt): Add tracing. (machine_check_interrupt): Ditto. (instruction_storage_interrupt): Ditto. (alignment_interrupt): Ditto. (program_interrupt): Ditto. (floating_point_unavailable_interrupt): Ditto. (system_call_interrupt): Ditto. (floating_point_assist_interrupt): Ditto. (deliver_hardware_interrupt): Ditto. * interrupts.c (program_interrupt): For UEA mode, halt the processor - so that the current state is saved - instead of aborting. (floating_point_unavailable_interrupt): Ditto. (floating_point_assist_interrupt): Ditto.Thu Jan 2 09:10:41 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * interrupts.c (perform_oea_interrupt): Halt rather than abort on a double interrupt.Wed Jan 1 22:54:52 1997 Andrew Cagney <cagney@kremvax.tpgi.com.au> * ppc-instructions (Store Multiple Word, Load Multiple Word): Enable. * tree.c (print_properties): For an array consider printing it out as an integer array. * hw_memory.c (hw_memory_init_address): If an "available" property is present, use that to initialize the available memory instead of using the reg property. * emul_generic.c (emul_add_tree_hardware): Add "available" property to memory device.Fri Dec 20 13:19:07 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> * ppc-instructions (Rotate Left Word then AND with Mask): Enable. * device.c (device_instance_call_method): Was only looking at the first method. * hw_disk.c (hw_disk_nr_blocks): Implement #blocks method. (hw_disk_block_size): Implement block-size method. (hw_disk_max_transfer): Implement max-transfer method. * hw_phb.c (hw_phb_init_address): Reinit the rest of the PHB. * emul_chirp.c (chirp_emul_instance_to_path): Recover from an invalid ihandle. (chirp_emul_instance_to_package): Ditto. (chirp_emul_method): Ditto. (chirp_emul_read): Ditto. (chirp_emul_write): Ditto. (chirp_emul_close): Ditto. (chirp_emul_seek): Ditto. (chirp_emul_package_to_path): Ditto (for phandle). (chirp_emul_package_to_path): Return the length. * psim.c (psim_merge_device_file): Allow continuation lines.Thu Dec 19 11:09:43 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> * emul_chirp.c (chirp_emul_boot): Implement. Well report the new string and exit. * emul_chirp.c (chirp_emul_exit): Correct type of args struct members - *_cell not host dependant int.Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> * interrupts.c (perform_oea_interrupt): Print additional information if a double interrupt is encountered.Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> * psim.c (psim_merge_device_file): Tolerate an incorrect file-name being specified with the -f option. (psim_merge_device_file): Correct check for end of string.Wed Dec 18 17:49:59 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> * emul_chirp.c (chirp_emul_peer): Was falling off the end of the list of devices. Return zero to the client instead. * emul_chirp.c (chirp_emul_child): Ditto * emul_chirp.c (chirp_emul_parent): Ditto * device.c (device_root): Assert assumption about the device being valid.Tue Dec 17 15:12:38 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> * emul_chirp.c (emul_chirp_create): Add description property to each significant node in the device tree. * emul_bugapi.c (emul_bugapi_create): Ditto.Fri Dec 13 14:30:31 1996 Andrew Cagney <cagney@kremvax.tpgi.com.au> * main.c (sim_io_read_stdin): For a single byte STDIO read, use a tempoary two byte buffer. Single byte read with fgets will not work. * main.c: Include errno.h. (sim_io_read_stdin): For non-STDIO, make it work. * emul_chirp.c (chirp_emul_read): Return the correct error status.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -