diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/qemu-symbian-svp/ChangeLog.csl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/qemu-symbian-svp/ChangeLog.csl Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,1516 @@ +2009-03-13 Paul Brook + + * python-plugin.c (qemu_python_init): Avoid quoting issues on + windows. + +2009-03-11 Paul Brook + + * vl.c (restore_snapshot): New. + (qemu_snapshot_request_restore): New function. + (qemu_snapshot_request): Clear restore_snapshot. + (main_loop): Handle restoring snapshots. + * sysemu.h (qemu_snapshot_request_restore): Add prototype. + * hw/syborg_snapshot.c (syborg_snapshot_trigger): Implement snapshot + restore. + (syborg_snapshot_write): Pass value to syborg_snapshot_trigger. + +2009-03-04 Paul Brook + + * vl.c (find_bios_dir): Avoid "../" on windows. + +2009-03-04 Paul Brook + + * Makefile.target: Add python-plugin.o. Remove obsolete syborg + machines and devices. + * python-plugin.c: New file. + * vl.c (bios_dir): Initialize to NULL. + (find_bios_dir): New function. + (main): Call find_bios_dir and qemu_python_init. + * devtree.c (QEMUDeviceProperty): Add opaque. + (QEMUDevice): Add irq and mem_opaque. + (qdev_add_class_opaque, qdev_get_class_opaque): New functions. + (qdev_create): Allocate dev->irq. + (qdev_set_region_opaque, qdev_set_irq_level): New functions. + (create_from_node): Use d->mem_opaque. + (fixup_irqs): Set dev->irq. + * configure: Add Python support. + * devtree.h (qdev_add_class_opaque, qdev_set_irq_level, + qdev_get_class_opaque, qdev_set_region_opaque): Add prototypes. + * sysemu.h (qemu_python_init): Add prototype. + * target-arm/machine.c (register_machines): Remove syborg_machine and + oldsyborg_machine. + * plugins/syborg_fb.py: New file. + * plugins/syborg_rtc.py: New file. + * plugins/syborg_interrupt.py: New file. + * plugins/syborg_serial.py: New file. + * plugins/syborg_keyboard.py: New file. + * plugins/syborg_pointer.py: New file. + * plugins/syborg_timer.py: New file. + * plugins/qemu_arm_plugins.py: New file. + * syborg.c: Remove. + * syborg_timer_old.c: Remove. + * syborg_keyboard_old.c: Remove. + * syborg_serial_old.c: Remove. + * syborg_interrupt_old.c: Remove. + * syborg_mouse.c: Remove. + * syborg_interrupt.c: Remove. + * syborg_timer.c: Remove. + * syborg_rtc.c: Remove. + * syborg_serial.c: Remove. + * syborg_keyboard.c: Remove. + * syborg_pointer.c: Remove. + * syborg_fb.c: Remove. + +2009-02-27 Daniel Gutson + + * Makefile.target (LIBS): Add expat. + * configure: Add expat probe. + * gui.c (gui_load): Fixed to use new parser implementation. + * gui_parser.c: Re-written to use expat as the implementation. + * gui_parser.h (parse_result_t): Aded OUT_OF_MEMORY error code. + * sdl.c (kbd_fsm_state_t): Removed as part of the code cleanup. + (kbd_fsm_stimuli_t): Likewise. + (kbd_fsm_state): Likewise. + (process_kbd_fsm_stimuli): Likewise. + (process_kbd_fsm_key): Likewise. + (sdl_gui_turn_cursor_on): Added missing case. + +2009-02-19 Paul Brook + + * hw/syborg_fb.c: Add debug code. + * hw/syborg_keyboard.c: Ditto. + * hw/syborg_timer.c: Ditto. + +2009-02-19 Paul Brook + + * hw/syborg_fb.c (syborg_fb_save): Save s->enabled. + (syborg_fb_load): Load s->enabled. Force update. + (syborg_fb_register): Bump savevm version. + * target-arm/machine.c (cpu_save): Save cp15.c2_control and + cp15.c2_base_mask. + (cpu_load): Restore cp15.c2_control and cp15.c2_base_mask. + Avoid clobbering banked registers by spurious mode change. + +2009-02-10 Paul Brook + + * boards/syborg.dts (hostfs@0): Add path and drive number. + * hw/syborg_hostfs.c (hostfs_file_open): Add O_CREAT for EFileReplace. + (syborg_hostfs_create): Add separator conversion for prefix path. + * hw/syborg_platform.c (PLATFORM_TREE_OFFSET): Define. + (syborg_platform_readl, syborg_platform_readw, syborg_platform_readb): + Use it. Correct device tree offsets. + +2009-02-05 Paul Brook + + * hw/syborg_hostfs.c (hostfs_dir): Add path. + (HOSTFS_ATTR_READONLY, HOSTFS_ATTR_HIDDEN, HOSTFS_ATTR_DIRECTORY): + Define. + (hostfs_map_file_att): Use new defines. + (hostfs_dir_read): Return file attributes. + +2009-01-21 Daniel Gutson + + * gui.c (gui_button_sendkey_dn): Removed warnings. + (gui_button_sendkey_up): Likewise. + (load_gui_image): Likewise. + (load_gui_button): Likewise. + (gui_loaded_is_graphic_console): Function removed. + * gui_png.c (gui_load_image_png): Removed warnigs and dead code. + * display_state.h: New file. + * gui_host.h: Moved declarations from here to display_state.h. + * hw/gui.h: Likewise. + +2009-01-20 Paul Brook + + * hw/nand.c (nand_init): Initialize s->ioaddr. + +2009-01-20 Daniel Gutson + + * gui.c: Fixed copyright year in heading. + * gui_host.h: Likewise. + * gui_png.c: Likewise. + * gui_png.h: Likewise. + * gui_parser.c: Likewise. + * gui_parser.h: Likewise. + * gui_common.h: Likewise. + * hw/gui.h: Likewise. + +2009-01-20 Paul Brook + + * configure: Add extra flags to libpng test so that -lz works. + +2009-01-19 Paul Brook + + * hw/virtio-audio.c (virtio_audio_handle_cmd, virtio_audio_load): Fix + net/audio typo in audio stream names. + +2009-01-19 Daniel Gutson + + * gui.c: Add heading. + * gui_host.h: Likewise. + * gui_png.c: Likewise. + * gui_png.h: Likewise. + * gui_parser.c: Likewise. + * gui_parser.h: Likewise. + * gui_common.h: Likewise. + * hw/gui.h: Likewise. + +2009-01-19 Paul Brook + + * vl.c (print_machines): New function. + (main): Use it. Error if no machine is specified. + +2009-01-19 Daniel Gutson + + * gui.c (gui_register_mouse_event_handler): Fixed non-GUI mode. + +2009-01-19 Paul Brook + + * hw/syborg_hostfs.c (HOSTFS_PATH_MAX, HOST_CHAR): Move up in file. + (hostfs_dir): Define for !_WIN32. + (hostfs_dir_open, hostfs_dir_read): Implement pattern matching. + (hostfs_dir_close): Free handle data. + (syborg_hostfs_reset): Dirro. + +2009-01-19 Paul Brook + + * Makefile.target (OBJS): Add virtio-audio.o + * boards/syborg.dts: Add audio device. + * hw/syborg_virtio (syborg_virtio_audio_create): New function. + (syborg_virtio_register): Register audio device. + * hw/virtio-audio.c: New file. + * hw/virtio-audio.h: New file. + +2009-01-19 Paul Brook + + * gui.c (gui_update_timer, gui_notify_update_tick, gui_update_timer): + Use 64-bit tick count. + * gui_host.h (gui_notify_update_tick): Update prototype. + +2009-01-19 Daniel Gutson + + GUI added + + * Makefile (OBJS): Add gui files. + * configure: Add libpng use and detection. + * console.c: Updated to interact with the GUI. + * console.h: Likewise. + * monitor.c: Likewise. + * qemu-char.c: Likewise. + * sdl.c: Likewise. + * vl.c: Likewise. + * hw/blizzard.c: Likewise. + * hw/musicpal.c: Likewise. + * hw/nseries.c: Likewise. + * hw/omap_lcdc.c: Likewise. + * hw/omap_sx1.c: Likewise. + * hw/palm.c: Likewise. + * hw/pl110.c: Likewise. + * hw/ps2.c: Likewise. + * hw/pxa2xx_keypad.c: Likewise. + * hw/pxa2xx_lcd.c: Likewise. + * hw/spitz.c: Likewise. + * hw/ssd0303.c: Likewise. + * hw/ssd0323.c: Likewise. + * hw/stellaris_input.c: Likewise. + * hw/tc6393xb.c: Likewise. + * hw/usb-hid.c: Likewise. + * hw/vga.c: Likewise. + * hw/vga_int.h: Likewise. + * hw/fb_render_engine.c: Data types fixed, and updated to interact + with the GUI. + * hw/fb_render_engine.h: Data types fixed. + * hw/syborg_fb.c: Updated to interact with the GUI. + * hw/syborg_keyboard.c: Likewise. + * hw/syborg_keyboard_old.c: Likewise. + * hw/syborg_pointer.c: Likewise. + * hw/gui.c: New file. + * hw/gui.h: New file. + * hw/gui_common.h: New file. + * hw/gui_parser.c: New file. + * hw/gui_parser.h: New file. + * hw/gui_png.c: New file. + * hw/gui_png.h: New file. + * curses.c: Add temporary changes to compile with the GUI. + * vnc.c: Likewise. + * qemu-common.h (QEMUConsole): Removed. + +2009-01-18 Paul Brook + + * Makefile.target (DEVICES): Add syborg_nand. + * boards/syborg.dts: Add NAND Flash device. + * hw/syborg_nand.c: New file. + * hw/syborg.h (SYBORG_ID_NAND): Define. + +2009-01-18 Paul Brook + + * hw/syborg_serial.c: Whitespace formatting fixes. + +2009-01-18 Paul Brook + + * Makefile.target (OBJS): Add virtio-pci. + (DEVICES): Add syborg_virtio. + * hw/virtio-balloon.c (virtio_balloon_init): Use binding function. + * hw/virtio-balloon.h (virtio_balloon_init): Update prototype. + * hw/virtio-net.c (virtio_net_init): Use binding function. + * hw/virtio-net.h: Don't include pci.h. + * virtio-blk.c (virtio_blk_init): Use binding function. + * virtio-blk.h (virtio_blk_init): Update prototype. + * hw/virtio-pci.c: New file. + * hw/virtio-pci.h: New file. + * hw/pci.c: Include virtio-pci.h + (pci_nic_init): Use virtio_net_init_pci. + * hw/syborg_virtio.c: New file. + (virtio_net_init): Update prototuype. + * hw/virtio.c: Move PCI bus bindings to virtio-pci.c. + (VirtQueue): Use physical address, not pfn. + (virtio_config_readb, virtio_config_readw, virtio_config_readl, + virtio_config_writeb, virtio_config_writew, virtio_config_writel): + Remove PCI specific code. Export. + (virtio_set_vring_addr, virtio_get_vring_pa, virtio_get_vring_num, + virtio_kick): New functions. + (virtio_save, virtio_load): Replace PCI code with binding callbacks. + (virtio_init_common): New function. + * hw/virtio.h: Don't include pci.h. Add new prototypes. + (virtio_update_irq): New function. + (VirtIODevice): Add bus binding callbacks. + * hw/pc.c: Include virtio-pci.h. + (pc_init1): Use virtio_blk_init_pci and virtio_balloon_init_pic. + * hw/ppc440_bamboo.c: Include virtio-pci.h. + (bamboo_init): Use virtio_blk_init_pci. + * boards/syborg.dts: Add net device. + * hw/syborg.h: Add SYBORG_ID_VIRTIO. + * hw/syborg_virtio.c: New file. + +2009-01-17 Paul Brook + + * savevm.c (do_savevm_file, do_loadvm_file): New functions. + (do_savevm): Use do_savevm_file. + (do_loadvm): Use do_loadvm_file. + * Makefile.target (DEVICES): Add syborg_shapshot. + * vl.c (snapshot_requested): New. + (qemu_snapshot_request, qemu_snapshot_requested): New functions. + (main_loop): Check is a snapshot has been requested. + * boards/syborg.dts: Add snapshot device. + * sysemu.h (qemu_snapshot_request, qemu_snapshot_requested): Add + Prototypes. + * hw/syborg_svpsnap.c: Remove. + * hw/syborg.h (SYBORG_ID_SNAPSHOT): New. + * hw/syborg_snapshot.c: New file. + +2009-01-16 Paul Brook + + * devtree.c (QEMUDeviceClass): Add save_state, load_state and + savevm_version. + (qdev_add_savevm): New function. + (create_from_node): Call register_savevm. + * devtree.h (qdev_add_savevm): Add prototype. + * hw/syborg_serial.c (syborg_serial_save, syborg_serial_load): New. + (syborg_serial_register): Add savevm. + * hw/syborg_pointer.c (syborg_pointer_save, syborg_pointer_load): New. + (syborg_pointer_register): Add savevm. + * hw/syborg_rtc.c (syborg_rtc_save, syborg_rtc_load): New. + (syborg_rtc_register): Add savevm. + * hw/syborg_keyboard.c (syborg_keyboard_save, syborg_keyboard_save): + New. + (syborg_keyboard_load): Add savevm. + * hw/syborg_timer.c (syborg_timer_save, syborg_timer_load): New. + (syborg_timer_register): Add savevm. + * hw/syborg_fb.c (syborg_fb_save, syborg_fb_load): New. + (syborg_fb_register): Add savevm. + * hw/fb_render_engine.c (qemu_put_render_data, qemu_get_render_data): + New. + * hw/fb_render_engine.h (qemu_put_render_data, qemu_get_render_data): + Add prototypes. + * hw/syborg_interrupt.c (syborg_int_save, syborg_int_load): New. + (syborg_interrupt_register): Add savevm. + * hw/syborg_hostfs.c (hostfs_handle_cache): Add is_fd. + (add_file_cache_entry, add_dir_cache_entry): Set is_fd. + (get_file_cache_entry, get_dir_cache_entry): Check is_fd. + (syborg_hostfs_reset, syborg_hostfs_save, syborg_hostfs_load): New. + (syborg_hostfs_create): Add savevm. + * hw/syborg_platform.c (syborg_platform_create): Add comment. + * target-arm/machine.c (cpu_save): Save cp15.c0_cssel, teecr and + teehbr. + (cpu_load): Load cp15.c0_cssel, teecr and teehbr. + +2009-01-15 Paul Brook + + * hw/syborg_hostfs.c (decode_error): Fix preprocessor warnings. + (hostfs_file_open): Fix linux build. + +2009-01-15 Paul Brook + + * Makefile.target (DEVICES): Add syborg_hostfs. + * boards/syborg.dts: Fix base address of 4th serial port. + Add hostfs device. + * devtree.c (qdev_get_property_string): New function. + * devtree.h (qdev_get_property_string): Add prototype. + * hw/syborg.h (SYBORG_ID_HOSTFS): Define. + * hw/syborg_svphostfs.c: Remove. + * hw/syborg_hostfs.c: New file. + +2009-01-14 Paul Brook + + * Makefile.target (DEVICE_OBJS): Set. Add special CPPFLAGS. + * devtree.c (qdev_create): Make static. + * devtree.h (DEVICE_NAME_register): Add prototype. + * hw/syborg_serial.c (syborg_serial_create): Make static. + * hw/syborg_fb.c (syborg_fb_create): Make static. + * hw/syborg_platform.c (syborg_platform_create): Make static. + +2008-12-31 Paul Brook + + * hw/fb_render_engine.c (calc_dest_row_address): Make row signed so + that offset caculation is extended correctly. + +2008-12-30 Paul Brook + + * hw/arm_pic.c (arm_cpu_reset_dev): Add parentheses. + +2008-12-15 Paul Brook + + * hw/syborg.txt: Remove (superseded by svp-docs). + +2008-12-15 Paul Brook + + * hw/syborg.txt: Fix typos. + +2008-12-12 Daniel Gutson + + * hw/syborg_fb.c (syborg_fb_apply_resize): Deleted. + (syborg_fb_write): Changed to call console_render. + * hw/fb_render_engine.c (console_render): New. + * hw/fb_render_engine.h (get_screen_width): Declaration deleted. + (get_screen_height): Likewise. + (console_render): New declaration. + +2008-12-11 Daniel Gutson + + * hw/fb_render_template.h (fb_draw_line15_*): Fixed bit handling. + (fb_draw_line16_*): Pixel swapping removed. + * hw/fb_render_engine.c (update_complete_palette): Fixed palette lengths. + Update palette 0 too. + (update_rotation_data): Fixed the dest_start_offset calculus. + +2008-12-10 Paul Brook + + * hw/arm_pic.c (arm_cpu_reset_dev): New function. + (arm_cpu_create): Initialize loop counter. Use cpu_arm_init. + (cpu_device_register): Add cp15 cache id properties. + * cpu-defs.h (CPU_COMMON): Add qdev; + * target-arm/helper.c (cpu_reset_model_id): Set cache ID registers. + (cpu_reset): Call arm_cpu_reset_dev. + (cpu_arm_init): Add dev argument. + (set_cp15): Implement cssel register. + (get_cp15): Implement armv7 cache ID registers properly. + * target-arm/cpu.h (CPUARMState): Add cp15.c0_ccsid, cp15.c0_clid and + cp15.c0_cssel. + (cpu_arm_init): Update prototype. + (arm_cpu_reset_dev): Add prototype. + (cpu_init): Add additional NULL arguent. + +2008-12-09 Paul Brook + + * hw/syborg_serial.c (FIFO_SIZE): Remove. Use s->fifo_size instead. + (SERIAL_FIFO_SIZE): Define. + (syborg_serial_state): Add fifo_size. Make read_fifo a pointer. + (syborg_serial_read): Handle SERIAL_FIFO_SIZE. + (syborg_serial_create): Allocate FIFO. + (syborg_serial_init): Ditto. + (syborg_serial_register): Add fifo-size property. + * hw/syborg_pointer.c (FIFO_SIZE): Remove. Use s->fifo_size instead. + (POINTER_FIFO_SIZE): Define. + (syborg_pointer_state): Add fifo_size. Make event_fifo a pointer. + (syborg_pointer_read): Handle POINTER_FIFO_SIZE. + (syborg_pointer_create): Allocate FIFO. + (syborg_pointer_init): Ditto. + (syborg_pointer_register): Add fifo-size property. + * hw/syborg_keyboard.c (FIFO_SIZE): Remove. Use s->fifo_size instead. + (KBD_FIFO_SIZE): Define. + (syborg_keyboard_state): Add fifo_size. Make key_fifo a pointer. + (syborg_keyboard_read): Handle KBD_FIFO_SIZE. + (syborg_keyboard_create): Allocate FIFO. + (syborg_keyboard_init): Ditto. + (syborg_keyboard_register): Add fifo-size property. + * syborg.txt: Document new fifo-size properties and registers. + +2008-12-04 Paul Brook + + * libfdt/libfdt_env.h: Use bswap.h and WORDS_BIGENDIAN. + * libfdt/patch.libfdt: New file. + * Makefile: Fix out of tree builds. Append -Ilibfdt to CPPFLAGS. + +2008-12-02 Paul Brook + + * devtree.c (devtree_ram_map, devtree_ram_map_size): New. + (check_cells): New function. + (create_from_node): Use it. + (create_ram): Use check_cells. Build ram map. + (check_interrupt_cells): New function. + (find_interrupt_parent): Use check_cells and check_interrupt_cells. + (devtree_get_config_int): New fuction. + (devtree_machine_init): Update cpu_bootstrap call. + * devtree.h (devtree_ram_region): New. + (devtree_ram_map, devtree_ram_map_size): Declare. + (devtree_get_config_int): New prototype. + (cpu_bootstrap): Update prototype. + * hw/arm_boot.c (cpu_bootstrap): Get parameters from device tree. + +2008-12-02 Paul Brook + + * vl.c (ram_load_v1, ram_save_block, ram_load_dead, ram_load): Use + host ram access helpers. + (main): Only allocate RAM when kqemu_allowed. + * sysemu.h ((kqemu_allowed): Move ... + * qemu-common.h (kqemu_allowed): ... to here. + * exec.c (phys_ram_base): Remove. + (cpu_physical_memory_reset_dirty, tlb_update_dirty, + tlb_set_page_exec): Use host ram access helpers. + (get_ram_offset_phys, host_ram_addr, ram_offset_from_host): New + functions. + (kqemu_phys_ram_base): New. + (qemu_ram_alloc): Allocate ram on the fly. + (io_mem_init): Only allocate RAM when kqemu_allowed. + (notdirty_mem_writeb, notdirty_mem_writew, notdirty_mem_writel, + cpu_physical_memory_rw, cpu_physical_memory_rw, + cpu_physical_memory_write_rom, ldl_phys, ldq_phys, stq_phys_notdirty, + stl_phys): Use host ram access helpers. + * devtree.c (create_ram): Use qemu_ram_alloc. + * hw/syborg.c (syborg_init): Use qemu_ram_alloc. + * exec-all.h (get_phys_addr_code): Use host ram access helpers. + * hw/nseries.c (n8x0_init): Ditto. + * hw/armv7m.c (armv7m_init): Ditto. + * hw/soc_dma.h (soc_dma_port_add_mem_ram): Ditto. + * hw/pl110.c (pl110_update_display): Ditto. + * hw/palm.c (palmte_init): Ditto. + * hw/pflash_cfi01.c (pflash_cfi01_register): Ditto. + * hw/arm_boot.c (arm_load_kernel): Ditto. + * hw/omap_lcdc.c (omap_update_displaym, omap_lcd_update): Ditto. + * hw/pflash_cfi02.c (pflash_cfi02_register): Ditto. + * hw/zaurus.c (sl_bootparam_write): Ditto. + * hw/onenand.c (onenand_init): Ditto. + * hw/pc.c (pc_init1): Ditto. + * hw/pxa2xx_lcd.c (pxa2xx_descriptor_load, + pxa2xx_lcdc_dma0_redraw_horiz, pxa2xx_lcdc_dma0_redraw_vert, + pxa2xx_update_display): Ditto. + * hw/musicpal.c (target2host_addr, host2target_addr): Ditto. + * cpu-all.h (host_ram_addr, ram_offset_from_host, + get_ram_offset_phys): Add prototypes. + (phys_ram_base): Remove. + (kqemu_phys_ram_base): Declare. + * kqemu.c (kqemu_init): Use kqemu_phys_ram_base. + * hw/fb_render_engine.c (calc_src_row_address): Map physial address to + ram offset. + (render): Use host ram access helpers. + +2008-12-02 Paul Brook + + * Makefile.target (DEVICES): Set. + (OBJS): Use DEVICES. Add devices.o and devtree.o. + (devices.c): New rule. + * libfdt/: Import libfdt. + * gen_devices.sh: New file. + * console.h (global_display_state): Declare. + * vl.c (global_display_state): Define. + (find_machine): Try a device tree file. + * boards/syborg.dts: New. + * Makefile: Add libfdt. + * devtree.c: New file. + * devtree.h: New file. + * hw/syborg_serial.c (syborg_serial_create, syborg_serial_register): + New fuctions. + * hw/arm_boot.c (cpu_bootstrap): New function. + * hw/syborg_pointer.c (syborg_pointer_create, + syborg_pointer_register): New functions. + * hw/syborg_rtc.c (syborg_rtc_create, syborg_rtc_register): New + functions. + * hw/syborg_keyboard.c (syborg_keyboard_create, + syborg_keyboard_register): New functions. + * hw/syborg_timer.c (syborg_timer_create, syborg_timer_register): New + functions. + * hw/arm_pic.c (arm_cpu_create, cpu_device_register): New functions. + * hw/syborg_fb.c (syborg_fb_create, syborg_fb_register): New + functions. + * hw/syborg_interrupt.c (syborg_int_create, + syborg_interrupt_register): New functions. + * hw/syborg.txt: Document platform device and device tree properties. + * hw/syborg.h (SYBORG_ID_PLATFORM): Define. + * hw/boards.h (devtree_machine): Declare. + * hw/syborg_platform.c: New file. + +2008-11-28 Paul Brook + + * hw/syborg_fb2.c: Rename... + * hw/syborg_fb.c: ... to this. Replace old implementation. + * Makefile.target (OBJS): Update to match. + +2008-11-26 Paul Brook + + * hw/syborg_serial.c: Add debug code. + +2008-11-18 Paul Brook + Daniel Gutson + + * hw/fb_render_decl.h: New file. + * hw/fb_render_def.h: New file. + * hw/fb_render_template.h: Move code to new headers. Implement + arbitrary stride for rotation. Implment 15bpp and 24bpp. + * hw/syborg_fb2.c: Remove OLD_ROM hacks. Enable device when FB_BASE + set in compatibility mode. Rename FB_ROTATION to FB_ORIENTATION. + * hw/syborg.txt: Update framebuffer documentation. + * hw/syborg.c (syborg_init): Create old framebuffers. + * hw/syborg.h (syborg_fb_init): Update prototype. + * hw/fb_render_engine.c: Use new headers. Rename rotation to + orientation. + (get_screen_width): New function. + (get_screen_height): New function. + (calc_bytes_per_src_row): Handle 15bpp and 24bpp. + (get_draw_fn): Use new table. + (calc_dest_row_direction): Remove. + (update_palette1): Remove. Merge code... + (update_complete_palette): ... to here. + (using_palette): Remove. + (rotations): New. + (update_rotation_data): New function. + (update_render_data): Use update_rotation_data. + (set_palette_value): Trigger full update. + (render_blank_screen): New function. + (render): Handle rotation. + * hw/fb_render_engine.h (fb_rotation): Add flipped values. + (get_screen_width): Add prototype. + (get_screen_height): Add prototype. + +2008-11-13 Daniel Gutson + + * hw/pl110_template.h (pl110_draw_line32_*): Byteswapping fixed. + +2008-11-13 Daniel Gutson + + * hw/fb_render_template.h (fb_draw_line32_*): Byteswapping fixed. + +2008-11-13 Paul Brook + + * hw/syborg_keyboard.c (syborg_keyboard_read): Fix empty FIFO test. + (syborg_keyboard_event): Push correct value to FIFO. + +2008-11-12 Daniel Gutson + + * hw/syborg_fb2 (syborg_fb_update): Use qemu_int_raise/lower instead + of qemu_set_irq to fix irq level bug). + (syborg_fb_init): Framebuffer device starts disabled. + +2008-11-10 Paul Brook + + * hw/syborg_fb2.c (syborg_fb_init): Remove bogus base set. + +2008-11-10 Paul Brook + + * hw/syborg_fb2.c (OLD_ROM): Don't define. + (syborg_fb_read, syborg_fb_write): Isolate guest from implementation + details. + +2008-11-10 Paul Brook + + * hw/fb_render_engine.c: Fix host/target address confusion. + +2008-11-10 Paul Brook + + * syborg.txt: Document that IRQ0 is unused. + +2008-11-10 Daniel Gutson + + * Makefile.target (OBJS): Add syborg_fb2.o, fb_render_engine.o + * hw/syborg.txt: Document framebuffer device. + * hw/syborg_fb2: New file. + * hw/fb_render_engine.c: New file. + * hw/fb_render_engine.h: New file. + * hw/fb_render_template.h: New file. + * hw/syborg.h: Add framebuffer device ID. + +2008-11-10 Paul Brook + + * hw/syborg.txt: Spelling fixes. + +2008-11-10 Paul Brook + + * hw/syborg.txt: Document serial port DMA. + * hw/syborg_serial.c (SERIAL_DMA_TX_ADDR, SERIAL_DMA_TX_COUNT, + SERIAL_DMA_RX_ADDR, SERIAL_DMA_RX_COUNT, SERIAL_INT_FIFO, + SERIAL_INT_DMA_TX, SERIAL_INT_DMA_RX): Define. + (syborg_serial_state): Add dma_tx_ptr, dma_rx_ptr and dma_rx_size. + (syborg_serial_update): Add DMA interrupts. + (fifo_pop): New function. + (fifo_push): New function. + (do_dma_tx): New function. + (dma_rx_start): New function. + (syborg_serial_read): Use fifo_pop. Implement DMA registers. + (syborg_serial_write): Implement DMA registers. + (syborg_serial_can_receive): Handle DMA. + (syborg_serial_receive): Ditto. + +2008-11-08 Paul Brook + + * hw/syborg.txt: Tweak keyboard and serial controller docs. + +2008-11-07 Paul Brook + + * Makefile.target (OBJS): Add syborg_pointer.o. + * hw/syborg.txt: Add base board description and pointer device. + * hw/syborg.c (syborg_init): Use new touchscreen. + * hw/syborg.h (syborg_touchscreen_init): Add prototype. + (syborg_mouse_init): Add prototype. + (SYBORG_ID_MOUSE, SYBORG_ID_TOUCHSCREEN): Define. + * hw/syborg_mouse.c: Mark as obsolete. + +2008-11-07 Paul Brook + + * target-arm/helper.c (get_cp15): Report sane cache size. + +2008-11-07 Paul Brook + + * Makefile.target: Add old syborg devices. + * hw/syborg.txt: Suport both old and new device models. + * hw/syborg.h: Add old devices and new device IDs. + * hw/syborg.txt: New file. + * hw/syborg_rtc.c: New file. + * hw/syborg_keyboard.c: Rewrite. + * hw/syborg_timer.c: Ditto. + * hw/syborg_serial.c: Ditto. + * hw/syborg_interrupt.c: Ditto. + * hw/syborg_keyboard_old.c: Move old device here. + * hw/syborg_timer_old.c: Ditto. + * hw/syborg_serial_old.c: Ditto. + * hw/syborg_interrupt_old.c: Ditto. + * hw/boards.h: Add oldsyborg_machine. + * target-arm/machine.c: Ditto. + +2008-11-05 Paul Brook + + * hw/syborg.c (syborg_state_s, syborg_cp14_read, syborg_cp14_write): + Remove. + (syborg_init): Remove cp14 hacks. + * target-arm/helper.c (cpu_reset_model_id): Set ARM_FEATURE_THUMB2EE. + (set_teecr): New helper. + * target-arm/helpers.h: Add set_teecr. + * target-arm/cpu.h (CPUARMState): Add teecr and teehbr. + (arm_features): Add ARM_FEATURE_THUMB2EE. + * target-arm/translate.c (disas_cp14_read): New function. + (disas_cp14_write): New function. + (disas_coproc_insn): Handle cp14 instructions. + +2008-11-05 Paul Brook + + * target-arm/translate.c (disas_vfp_insn): Fix translation of VFP + fixed point conversion routines. + * target-arm/helper.c (VFP_CONV_FIX): Negate shift count. + +2008-11-05 Paul Brook + + * fpu/softfloat.c (float32_scalbn, float64_scalbn, float128_scalbn): + Correctly normalize values and handle zero inputs. + +2008-11-03 Paul Brook + + * fpu/softfloat.c (roundAndPackFloat32, roundAndPackFloat64, + roundAndPackFloatx80, roundAndPackFloat128, addFloat32Sigs, + addFloat64Sigs, addFloat128Sigs): Add flush to zero for denormal + results. + * fpu/softfloat.h (float_status): Add flush_to_zero and + default_nan_mode. + (set_flush_to_zero): New function. + (set_default_nan_mode): New function. + * fpu/softfloat-specialize.h (float32_default_nan, + float64_default_nan): Use correct value for ARM. + (propagateFloat32NaN, propagateFloat64NaN, propagateFloatx80NaN, + propagateFloat64NaN): Implement default NaN mode. + * target-arm/helper.c (vfp_set_fpscr): Implement FZ and DN bits. + +2008-11-03 Paul Brook + + * target-arm/translate.c (disas_vfp_insn): Fix order of operations for + fnmsc. + +2008-11-03 Paul Brook + + * cpu-exec.c (cpu_resume_from_signal): Reset env->exception_index. + +2008-11-03 Paul Brook + + * target-arm/helper.c (check_ap): Implement ARMv7 AP check. + (get_phys_addr_v6): Implement ARMv7 simplified AP model. + +2008-11-03 Paul Brook + + * target-arm/translate.c (gen_vfp_st): Fix typo. + +2008-10-31 Paul Brook + + * configure: Add --sdl-config. + +2008-10-31 Paul Brook + + * target-arm/op_helper.c (ALIGNED_ONLY): Define. + (do_restore_state): New function. + (do_unaligned_access): New function. + (tlb_fill): Use do_restore_state. + * target-arm/translate.c (gen_vfp_ld): Split doubleword VFP loads. + (gen_vfp_st): Split doubleword VFP stores. + +2009-01-15 Paul Brook + + * gdbstub.c (gdbserver_start): Fix merge breakage. + +2009-01-15 Paul Brook + + * qemu-char.c (qemu_chr_open): Remove stray code from stdio changes. + +2008-12-30 Paul Brook + + * target-arm/neon_helper.c (rshl): Fix typo. + +2008-12-30 Paul Brook + + * qemu-char.c: Restore stdio handling lost in merge. + +2008-12-28 Paul Brook + + * configure: Use stub host USB on mingw32. + * qemu-sockets.c (gai_strerror): Provide definition for old mingw32. + +2008-12-03 Nathan Froyd + + * hw/dummy_ppc.c (dummy_ppc_machine): Use C99-style initializers. + Initialize max_cpus. + +2008-12-02 Daniel Jacobowitz + + * linux-user/syscall.c (do_syscall): Check gdb_wrapper for ptrace + emulation. + * linux-user/main.c (gdb_wrapper): New variable. + (usage): Display -wrapper. + (main): Handle -wrapper. + * gdbstub.c (gdb_queuesig): Always queue signals for -wrapper. + (gdb_handlesig): Start the server at the first signal for -wrapper. + * linux-user/qemu.h (gdb_wrapper): Declare. + +2008-12-02 Daniel Jacobowitz + + Issue #4298 + * release-notes-csl.xml: Document fork and signal fixes. + + * linux-user/syscall.c (do_fork): Call fork_end for non-NPTL also. + * linux-user/signal.c (signal_init): Register handler for all fatal + signals. + (force_sig): Report fatal signals to GDB. + (queue_signal): Use gdb_queuesig. + (host_signal_handler): Only report kernel-generated SIGSEGV / SIGBUS + as exceptions. + (do_sigaction): Do not restore SIG_DFL for fatal signals. + (process_pending_signals): Handle cancelled signals. + * linux-user/main.c (fork_end): Call gdbserver_fork for non-NPTL also. + * gdbstub.c (SIGTRAP, SIGINT): Remove definitions. + (GDB_SIGNAL_0, GDB_SIGNAL_INT, GDB_SIGNAL_TRAP, GDB_SIGNAL_UNKNOWN): New + constants. + (gdb_signal_table, target_signal_to_gdb, gdb_signal_to_target): New. + (gdb_handle_packet): Use GDB_SIGNAL_TRAP and gdb_signal_to_target. + Clear the saved signal on a 'c' packet. + (gdb_vm_stopped): Use GDB_SIGNAL_TRAP and GDB_SIGNAL_INT. + (gdb_signalled, gdb_queuesig): New. + (gdb_handlesig): Use target_signal_to_gdb. + * gdbstub.h (gdb_signalled, gdb_queuesig): Declare. + +2008-11-12 Sandra Loosemore + + * linux-user/syscall.c (do_syscall): Make #ifdef on + TARGET_NR_inotify_init, TARGET_NR_inotify_add_watch, and + TARGET_NR_inotify_rm_watch cases match that used previously + in the file, to avoid references to undefined symbols. + +2008-10-29 Paul Brook + + * configure: Use CFLAGS and LDFLAGS in link tests. + +2008-10-29 Paul Brook + + Backport from upstream. + * qemu-tool.c (qemu_get_clock): Use qemu_gettimeofday. + +2008-10-29 Paul Brook + + Backport from upstream. + * vl.c (qemu_announce_self): Remove bogus TAP check. + * configure: Use proper windows paths. + * migration-tcp.c: Use proper socket functions. + +2008-10-29 Paul Brook + + * target-arm/helper.c (cpu_reset_model_id): Use proper v7 CacheType + value. + +2008-10-28 Paul Brook + + * target-arm/helper.c (check_ap): Add hack to make VMSAv7 attributes + work. + +2008-10-28 Paul Brook + + * Makefile.target (OBJS): Add syborg files. + * hw/boards.h (syborg_machine): Declare. + * target-arm/machine.c (register_machines): Add syborg_machine. + * hw/syborg.c: New file + * hw/syborg_dummy.c: New file + * hw/syborg_fb.c: New file + * hw/syborg.h: New file + * hw/syborg_interrupt.c: New file + * hw/syborg_keyboard.c: New file + * hw/syborg_mouse.c: New file + * hw/syborg_serial.c: New file + * hw/syborg_svphostfs.c: New file + * hw/syborg_svpsnap.c: New file + * hw/syborg_timer.c: New file + +2008-10-28 Paul Brook + + * target-arm/helper.c (cpu_reset_model_id): Add A8 cache info hacks. + (get_cp15): Ditto. + +2008-10-28 Paul Brook + + Backport from upstream. + * usb-linux.c (usb_linux_update_endp_table): Use usb_ctrltransfer. + +2008-10-28 Paul Brook + + * target-arm/helper.c (set_cp15): Remove stray debugging printf. + +2008-10-24 Paul Brook + + * target-arm/helper.c (do_interrupt): Use VBAR. + (set_cp15): Implement cp15 c12 (vector base address register). + (get_cp15): Ditto. + * target-arm/cpu.h (CPUARMState): Add cp15.c12_vbar. + +2008-10-20 Daniel Jacobowitz + + Issue #3871 + * release-notes-csl.xml: Document. + + * target-ppc/translate.c (gen_bcond): Do not update NIP to the + fallthrough address when single stepping. + +2008-10-20 Daniel Jacobowitz + + Issue #4075 + * release-notes-csl.xml: Document. + + * i386.ld, x86_64.ld: Add .reserved2. + * linux-user/main.c (RESERVED_SEGMENT_START, RESERVED_SEGMENT_SIZE): + Adjust for PPC target. + (RESERVED2_SEGMENT_START, RESERVED2_SEGMENT_SIZE): New. Use to + create .reserved2. + (main): Unmap both reserved segments. + +2008-10-15 Daniel Jacobowitz + + * release-notes-csl.xml: Correct typos in AltiVec note. + Remove AltiVec from Linux-specific note. + +2008-10-06 Andrew Stubbs + + Issue #3871 + + * linux-user/main.c (cpu_loop): Handle EXCP_DEBUG signal. + +2008-10-03 Nathan Froyd + + * release-notes-csl.xml (AltiVec instruction support): New note. + * target-ppc/cpu.h (union ppc_avr_t): Add s8, s16, s32, s64, and + f fields. + (VSCR_NJ, VSCR_SAT, vscr_nj, vcsr_sat): Define. + * target-ppc/op_mem.h: Fix lvx and stvx implementations. + Add element-wise Altivec load and store instructions. Unify + definitions for 32-bit and 64-bit targets. + * target-ppc/op.c: Add ops for Altivec instructions. + * target-ppc/translate.c (SIMM5, UIMM5, VSH): Define. + Add translators for Altivec instructions. + * target-ppc/op_helper.h: Add prototypes for Altivec instruction + helpers. + * target-ppc/op_helper.c: Add helpers for Altivec instructions. + +2008-10-02 Nathan Froyd + + * release-notes-csl.xml (Additional CPU emulations for QEMU): Tweak + to mention e500 --cpu options. + * target-ppc/translate.c (mbar): Correct opc3 field. + * target-ppc/translate_init.c (spr_read_spefscr, spr_write_spefscr): + New functions. + (init_proc_e200): Use them. Add read/write access in user mode too. + (init_proc_e500): Likewise. + * target-ppc/op.c (op_load_spefscr, op_store_spefscr): New functions. + +2008-09-30 Catherine Moore + + Merge: + r219891 (orig r5139): ths | 2008-09-02 10:39:45 -0700 + * target-mips/translate_init.c (no_mmu_init): Only if + not CONFIG_USER_ONLY. + (cpu_mips_register): Initialize mmu if not CONFIG_USER_ONLY. + +2008-09-29 Nathan Froyd + + * target-ppc/translate.c (rlwimi): Remove bogus case. + * target-ppc/op_helper.c (do_addmeo, do_addmeo_64): Don't set + xer_ca when T0 == 0 + (do_subfmeo): Likewise, for T0 == UINT32_MAX. + (do_subfemo_64): Likewise, for T0 == UINT64_MAX. + (do_sraw, do_srad): Correctly set xer_ca. + (do_mullwo): Cast T0 and T1 to int32_t first. + * target-ppc/op.c (op_add_me): Don't set xer_ca when T0 == 0 + (op_add_me_64): Likewise. + (op_subfme): Don't set xer_ca when T0 == UINT32_MAX. + (op_subfme_64): Likewise, for UINT64_MAX. + (op_addmeo): Set T1 to xer_ca. + +2008-09-26 Julian Brown + + * release-notes-csl.xml (Improvements to NEON support in QEMU): Add + note. + +2008-09-25 Nathan Froyd + + * release-notes-csl.xml (-cpu now enables CPU-specific instructions): + New note. + * target-ppc/helper.c (cpu_ppc_reset): Turn on CPU instruction + capability bits. + +2008-09-24 Paul Brook + + * fpu/softfloat.c (float32_to_float16): Fix rounding of very small + values. + +2008-09-22 Julian Brown + + * target-arm/neon_helper.c (shl_u8, shl_u16, shl_u32): Fix + greater-than-element-size boundary condition. + (shl_s8, shl_s16, shl_s32): Likewise. + (rshl_s8, rshl_s16, rshl_s32, rshl_u8, rshl_u16, rshl_u32) + (qshl_s8, qshl_s16, qshl_s32, qshl_u8, qshl_u16, qshl_u32): Add + casts to uses of -sizeof(), fix boundary conditions. + +2008-09-22 Paul Brook + + * exec-all.h (MAX_OP_PER_INSTR): Increase to 200. + +2008-09-22 Paul Brook + + * target-arm/translate.c (disas_neon_ls_insn): Remove redundant mask + operations in vld1 code. + +2008-09-22 Paul Brook + + * linux-user/main.c (fork_end): Call gdbserver_fork. + * gdbstub.c (gdbserver_fork): New function. + * gdbstub.h (gdbserver_fork): Add prototype. + +2008-09-21 Paul Brook + + Backport from upstream. + * target-arm/op_helper.c (neon_tbl): Fix shift count. + * target-arm/translate.c (target-arm/translate.c): Fix incorrect + register writeback for VDUP, VLD1(duplicate) and VTBL instructions. + +2008-09-21 Paul Brook + + * fpu/softfloat.c (packFloat16, float16_to_float32, + float32_to_float16): New functions. + * fpu/softfloat.h (float16_to_float32, float32_to_float16): Add + prototypes. + * target-arm/helper.c (cpu_reset_model_id): Add FP16 to "any" cpu. + (vfp_fcvt_f16_to_f32, vfp_fcvt_f32_to_f16): New helpers. + * target-arm/helpers.h (vfp_fcvt_f16_to_f32, vfp_fcvt_f32_to_f16): + New helpers. + * target-arm/cpu.h (arm_features): Add ARM_FEATURE_FP16. + * target-arm/translate.c (disas_vfp_insn): Add vcvth and vcvtb. + (disas_neon_data_insn): Add vcvt.f16.f32 and vcvt.f32.f16. + +2008-09-19 Nathan Froyd + + * target-ppc/op_template.h (op_load_crfr_T0_crf): New function. + * target-ppc/op_helper.c (do_fcmpu): Correctly set CR register + for comparisons against NaN. + (do_fcmpo): Likewise. + * target-ppc/translate.c (gen_op_load_crfr_T0): New table. + (fcmpo): Pass along the condition register being set. + (fcmpu): Likewise. + +2008-09-11 Sandra Loosemore + + Issue #2978 + + * release-notes-csl.xml (Kernel version reported by QEMU): New note. + +2008-09-11 Paul Brook + + Backport from upstream: + * i386-dis.c (oappend): Fix bogus pstrcpy. + +2008-09-05 Nathan Sidwell + + Issue #2978 + * linux-user/main.c (usage): Add -r option. + * qemu-doc.texi (Linux User space emulator): Document -r option. + +2008-09-05 Paul Brook + + * target-m68k/translate.c (mvzs): Fix sign extension logic. + +2008-09-04 Nathan Froyd + + * ppc-semi.c (HOSTED_ISATTY): Redefine. + (ppc_isatty_cb): New function. + (do_ppc_semihosting): Follow system call conventions in result. + +2008-09-01 Mark Mitchell + + * qemu-common.h (uninterrupted_open): Declare. + (uninterrupted_close): Likewise. + (uninterrupted_read): Likewise. + (uninterrupted_write): Likewise. + * cutils.c (uninterrupted_open): Define. + (uninterrupted_close): Likewise. + (uninterrupted_read): Likewise. + (uninterrupted_write): Likewise. + * arm-semi.c (do_arm_semihosting): Use them. + * ppc-semi.c (do_ppc_semihosting): Likewise. + * m68k-semi.c (do_m68k_semihosting): Likewise. + +2008-08-31 Mark Mitchell + + * arm-semi.c (do_arm_semihosting): Check for EINTR on calls to + open, read, write, and close. + * ppc-semi.c (do_ppc_semihosting): Likewise. + * m68k-semi.c (do_m68k_semihosting): Likewise. + +2008-08-27 Paul Brook + + * configure: Allow unknown configure options (again). + +2008-05-27 Paul Brook + + Backport from upstream. + * linux-user/syscall.c: Include linux_loop.h. + * linux-user/linux_loop.h: New file, avoid problems with old kernel + headers. + +2008-05-23 Paul Brook + + * linux-user/elfload.c (load_elf_binary): Set info->e_flags. + * linux-user/qemu.h (image_info): Add elf_flags. + * linux-user/main.c (cpu_loop): Byteswap instructions. + (main): Enable code byteswapping for BE8 binaries. + * disas.c (target_disas): Add flags for byteswapping. + * target-arm/cpu.h (CPUARMState): Add bswap_code. + * target-arm/translate.c (disas_arm_insn, disas_thumb2_insn, + disas_thumb_insn): Byteswap instructions. + (gen_intermediate_code_internal): Pass bswap flag to target_disas. + +2008-05-23 Paul Brook + + * linux-user/main.c (do_kernel_trap): Use proper guest memory access + routines. + +2008-04-06 Nathan Froyd + + * ppc-semi.c (HOSTED_UNLINK, HOSTED_STAT, HOSTED_LSTAT, HOSTED_FSTAT, + HOSTED_ISATTY, HOSTED_SYSTEM, HOSTED_RENAME): Define. + (translate_stat): Remove and replace with... + (translate_to_netbsd_stat): ..this. New function. + (ppc_stat_cb): New function. + (do_ppc_semihosting): Add HOSTED_UNLINK, HOSTED_STAT, HOSTED_LSTAT, + HOSTED_FSTAT, HOSTED_RENAME, HOSTED_ISATTY, and HOSTED_SYSTEM cases. + Fix HOSTED_LSTAT. Use ppc_stat_cb for HOSTED_STAT and HOSTED_FSTAT. + +2008-03-27 Sandra Loosemore + + * target-m68k/helper.c (m68k_cpu_list): New. + * target-m68i/cpu.h (m68k_cpu_list): Declare. + (cpu_list): Define to use new function. + +2008-03-26 Paul Brook + + Backport from upstream. + * linux-user/elfload.c (create_elf_tables): Add AT_CLKTCK. + +2008-03-26 Paul Brook + + Backport from upstream. + * vl.c (main): Convert fixed length commandline buffers to pointers. + +2008-03-26 Paul Brook + + * linux-user/main.c (print_version): New function. + (usage): Use it. Add retcode and QEMU_BUGURL. + (main): Handle --help and --version. + * vl.c (version): Update Copyright. + +2008-03-26 Paul Brook + + * target-m68k/op.c (set_T0_s32): Fix typo. + +2008-03-25 Paul Brook + + * linux-user/elfload.c (x86_stack_size): Remove declaration. + (setup_arg_pages): Set info->stack_base. + * linux-user/syscall.c (TARGET_PROT_GROWSDOWN): Define. + (do_syscall): Add PROT_GROWSDOWN exec-stack hack. + * linux-user/qemu.h (image_info): Add stack_base. + (x86_stack_size): Add declaration. + +2008-03-25 Paul Brook + + * target-cris/cpu.h: Define MMAP_SHIFT. + * linux-user/syscall.c (do_syscall): Default MMAP_SHIFT=12. + * linux-user/main.c (cpu_loop): Fix m68k 6-arg syscall. + +2008-03-21 Paul Brook + + Backport from upstream. + * linux-user/signal.c (setup_return): Handle mode change on signal + entry. + (restore_sigcontext): Mask privileged bits. + +2008-03-14 Paul Brook + + * exec-all.h (MAX_OP_PER_INSTR): Increase to 64. + +2008-03-13 Paul Brook + + * vl.c (win_chr_stdio_poll): Correct buffer size. + +2008-03-07 Sandra Loosemore + + * release-notes-csl.xml: Add new note for Linux user-mode emulator. + Further split up and tweak the notes for the QEMU CPU simulator + since we need to say slightly different things about how previous + behavior has changed on all of arm, power, and m68k. + +2008-03-06 Paul Brook + + * vl.c (host_alarm_handler): Handle NULL next_cpu. + +2008-03-06 Paul Brook + + * linux-user/main.c (main): Accept --foo as an alias for -foo. + +2008-02-29 Sandra Loosemore + + * release-notes-csl.xml: Give previous note added a unique UUID. + +2008-02-28 Carlos O'Donell + + * release-notes-csl.xml: Document QEMU support. + +2008-02-28 Daniel Jacobowitz + + Backport from trunk: + * vl.c (next_cpu, event_pending): New. + (cur_cpu): Move higher. + (host_alarm_handler, main_loop): Avoid missed interrupts. + +2008-02-26 Nathan Froyd + + * gdbstub.c (ldtul_p): Swap the 64-bit and 32-bit cases. + +2008-02-26 Paul Brook + + * vl.c (register_machines): Register dummy_ppc_machine first. + * gdbstub.c (cpu_gdb_read_register): Return correct FP register size. + +2008-02-21 Paul Brook + + * gdbstub.c (gdb_chr_can_receive): Accept blocks of data. + +2008-02-21 Paul Brook + + * vl.c (qemu_chr_open_stdio): Ignore SIGINT. + (qemu_chr_open_win_stdio): Ignore ^C. + +2008-01-22 Paul Brook + + * gdbstub.c (cpu_gdb_write_register): Fix comment typo. + +2008-01-09 Paul Brook + + * target-arm/op.c: Split env->NZF into NF and ZF. + * target-arm/helper.c: Ditto. + * target-arm/cpu.h: Ditto. + +2008-01-06 Paul Brook + + * configure: Re-add NPTL define. + +2007-12-10 Paul Brook + + * softmmu-semi.c (softmmu_target_strlen): New function. + (target_strlen): Ditto. + * Makefile.target (VL_OBJS): Add dummy_ppc.o and ppc-semi.o. + * ppc-semi.c: New file. + * vl.c (qemu_options): Enable semihosting for PPC. + (register_machines): Add dummy_ppc_machine. + * target-ppc/helper.h (powerpc_excp): Intercept semihosting syscalls. + * taret-ppc/cpu.h (do_ppc_semihosting): Add prototype. + * hw/boards.h (dummy_ppc_machine): Add declaration. + * hw/dummy_ppc.c: New file. + +2007-12-05 Paul Brook + + * x86_64.ld: Leave space for system emulation program headers. + * i386.ld: Ditto. + +2007-12-04 Paul Brook + + * x86_64.ld: Tweak .reserved section placement. + * i386.ld: Ditto. + * linux-user/main.c: Ditto. + +2007-11-27 Paul Brook + + * i386.ld: Add sysroot suffix to library search paths. + +2007-11-27 Paul Brook + + * osdep.c (localtime_r, gmtime_r): New functions. + * osdep.h (localtime_r, gmtime_r): Add prototypes. + * configure: Allow unknown configure options. + +2007-11-20 Paul Brook + + * target-ppc/translate_init.c (init_ppc_proc): Allow linux userspace + PVR read. + +2007-11-10 Paul Brook + + * hw/stellaris.c (GPTM_SCALE): Remove. + (stellaris_clock_scale): New variable. + (gptm_reload): Use it. + (pllcfg_sandstorm, pllcfg_fury): New variables. + (ssys_read): Implement PLLCFG. Set reference clock speed. + +2007-11-10 Paul Brook + + * hw/mpcore.c (mpcore_priv_read): Fix printf format mismatch. + (mpcore_priv_write): Ditto. + * hw/arm_gic.c (gic_dist_readb, gic_dist_writeb, gic_cpu_read, + gic_cpu_write): Ditto. + +2007-11-06 Paul Brook + + * Makefile.target: Add pl061.o + * vl.h (pl061_init): Add prototype. + * hw/stellaris.c (stellaris_init): Create GPIO. + * hw/pl061.c: New file. + +2007-11-06 Paul Brook + + * hw/ssd0323.c (ssd0323_xfer_ssi): Fix typo. + (ssd0323_cd): Add debug output. + +2007-11-05 Paul Brook + + * Makefile.target: Add ssd0303.o, pl022.o and ssd0323.o. + * vl.c (register_machines): Add lm3s6965evb_machine. + * vl.h (armv7m_init): Add. + (lm3s6965evb_machine): Declare. + (pl022_init): New prototype. + (ssd0323_xfer_ssi, ssd0323_init): New prototype. + * hw/ssd0323.c: New file. + * hw/armv7m.c (armv7m_init): Remove board init code. + (lm3s811evb_machine): Remove. + * hw/osram_oled.c: Rename... + * hw/ssd0303.c: ... to this. + * hw/pl022.c: New file. + * hw/stellaris.c: Define and use stellaris_boards. + (lm3s811evb_machine, lm3s6965evb_machine): New. + +2007-11-04 Paul Brook + + * Makefile.target: Set BASE_LDFLAGS unconditionally. Remove -shared + hacks. + * linux-user/main.c: Add .reserved section contents. + (main): Unmap reserved memory area. + * x86_64.ld: Add .reserved. Avoid SIZEOF_HEADERS. + * ia64.ld: Ditto. + * ppc.ld: Ditto. + * sparc.ld: Ditto. + * sparc64.ld: Ditto. + * s390.ld: Ditto. + * arm.ld: Ditto. + * m68k.ld: Ditto. + * i386.ld: Ditto. + +2007-10-18 Paul Brook + + * target-arm/translate.c (gen_intermediate_code_internal): Add + set_condexec calls. + +2007-10-18 Paul Brook + + * target-arm/translate.c (DISAS_JUMP_NEXT): Remove. + (DISAS_WFI, DISAS_SWI): Define. + (disas_cp15_insn): Use DISAS_WFI. + (gen_nop_hint): Ditto. + (disas_arm_insn): Call gen_set_condexec before raising an exception. + Use DISAS_SWI. + (disas_thumb_insn): Ditto. + (gen_intermediate_code_internal): Call gen_set_condexec before hitting + breakpoint. Avoid translating breakpointed instruction. + Handle DISAS_SWI and DISAS_WFI. + +2007-10-16 Paul Brook + + * linux-user/main.c (show_missing_syscalls): New variable. + (main): Set show_missing_syscalls. + * linux-user/qemu.h (linux-user/qemu.h): Add prototype. + * linux-user/syscall.c (do_syscall): Use show_missing_syscalls. + +2007-10-16 Paul Brook + + * target-arm/op_neon.h (unzip_u8, zip_u8): Fix bogus masks. + +2007-10-16 Paul Brook + + * linux-user/syscall.c (do_fork): Disable clone(CLONE_VM) with NPTL. + +2007-09-22 Paul Brook + + * m68k-semi.c (do_m68k_semihosting): Call gdb_exit. + +2007-09-14 Paul Brook + + * target-m68k/op.c (get_op, set_op, get_opf64, set_opf64): Move... + * target-m68k/op_helper.c (helper_get_op, helper_set_op, + helper_get_opf64, helper_set_opf64): ... To here. + +2007-09-14 Paul Brook + + * linux-user/main.c (usage): Use QEMU_PKGVERSION. + * vl.c (version): New function. + (help): Use it. + (QEMU_OPTION_version): Define. + (qemu_options): Add version. + (main): Handle QEMU_OPTION_version. + * monitor.c (do_info_version): Use QEMU_PKGVERSION. + * configure: Add --with-pkgversion and --with-bugurl. + +2007-08-29 Paul Brook + + * target-arm/op.c (op_movl_T0_cpsr): Mask out execution state bits. + * target-arm/helper.c (do_interrupt): Clear env->condexec_bits, not + unused uncached_cpsr bits. + * target-arm/cpu.h (CACHED_CPSR_BITS): Add CPSR_IT. + (CPSR_GE, CPSR_RESERVED, CPSR_USER, CPSR_EXEC): Define. + (cpsr_read): Use env->GE. + (cpsr_write): Set env->GE. + * target-arm/translate.c (msr_mask): Fix reserved masks for V6/V7. + (disas_arm_insn): Pass env to msr_mask. + +2007-08-24 Paul Brook + + * gdbstub.c (cpu_gdb_write_register): Avoid setting low bit of PC. + +2007-08-24 Paul Brook + + * target-arm/cpu.h (do_arm_semihosting): Add prototype. + * target-arm/helper.c (do_interrupt): Implement Thumb BKPT semihosting. + +2007-07-30 Paul Brook + + Merge from //csl/qemu/branches/armv7. + +2007-06-19 Paul Brook + + * vl.h (dpy_update, dpy_resize): Check for NULL callbacks. + +2007-06-18 Paul Brook + + * vl.c (start_rtc_timer): Disable timer warning. + +2007-06-18 Paul Brook + + * Makefile.target (VL_OBJS): Add dummy_m68k.o. + * vl.c (register_machines): Add dummy_m68k_machine. + * vl.h (dummy_m68k_machine): Add declaration. + * hw/dummy_m68k.c: New file. + +2007-04-29 Vladimir Prus + + * gdbstub.h (gdb_exit): Declare unconditionally. + * arm-semi.c (syscall_err): New. + (arm_semi_cb): For system mode, assign to syscall_err. + (arm_semi_flen_cb): New. + (do_arm_semihosting): Use string length including zero + character for all calls that use strings. Implement + SYS_FLEN in terms of fstat call. On exit, call gdb_exit. + * gdbstub.c (gdbserver_state): Define unconditionally. + (gdb_exit): Likewise. + (gdbserver_start): Don't malloc gdb state, use + gdbserver_state. + +2007-04-16 Paul Brook + + * gdbstub.c (gdb_handle_packet): Allow non-core regs in g/G packets. + +2007-04-16 Paul Brook + + * gdbstub.h (gdb_reg_cb): New typedef. + (gdb_register_coprocessor): New function. + * feature_to_c.sh: New file. + * Makefile.target (OBJS, VL_OBJS): Add gdbstub-xml.o + (gdbstub-xml.c): New rule. + * configure: Set gdb_xml_files. Define TARGET_XML_FILES. + * target-m68k/translate.c: Include gdbstub.h. + (fpu_gdb_get_reg, fpu_gdb_set_reg): New functions. + (cpu_m68k_register): Register FPU with gdb stub. + (cpu_dump_state): Fix FP register dumps. + * gdbstub/arm-core.xml: New file. + * gdbstub/arm-vfp.xml: New file. + * gdbstub/arm-vfp3.xml: New file. + * gdbstub/arm-neon.xml: New file. + * gdbstub/cf-fp.xml: New file. + * gdbstub/cf-core.xml: New file. + * target-arm/helper.c: Include gdbstub.h. + (vfp_gdb_get_reg, vfp_gdb_set_reg): New functions. + (cpu_arm_set_model): Register VFP with gdb stub. + * target-arm/cpu.h (arm_features): Add VFP3 and NEON. + * gdbstub.c (GDBRegisterState): Define. + (all_regs, gdb_has_xml, num_g_regs): New variables. + (put_packet_binary): New function. + (put_packet): Use it. + (NUM_CORE_REGS, GDB_CORE_XML): Define. + (cpu_gdb_read_registers, cpu_gdb_write_registers): Rename ... + (cpu_gdb_read_register, cpu_gdb_write_register): ... to this. + (memtox, get_feature_xml, gdb_read_register, gdb_write_register, + gdb_register_coprocessor): New functions. + (gdb_handle_packet): Use gdb_read_register and gdb_write_register. + Handle 'p', 'P', 'qSupported' and 'qXfer:features:read:' packets. + +2007-04-11 Vladimir Prus + + * vl.c (win_chr_stdio_poll): Use exit, + not do_quit, as the latter is not in public + interface of monitor.c. + +2007-04-11 Vladimir Prus + + * vl.c (struct WinCharState): New field quit_on_eof. + (win_chr_stdio_poll): New function. + (win_stdio_chr_close): New function. + (qemu_chr_open_win_stdio): New function. + (qemu_chr_open): Handle 'stdio' device on windows. + +^L +Local Variables: +mode: change-log +change-log-default-name: "ChangeLog.csl" +End: