From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LMQm3-0003KR-8g for qemu-devel@nongnu.org; Mon, 12 Jan 2009 12:40:27 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LMQm2-0003K6-M2 for qemu-devel@nongnu.org; Mon, 12 Jan 2009 12:40:26 -0500 Received: from [199.232.76.173] (port=45092 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LMQm2-0003Jz-FN for qemu-devel@nongnu.org; Mon, 12 Jan 2009 12:40:26 -0500 Received: from savannah.gnu.org ([199.232.41.3]:42254 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LMQm2-00019K-2k for qemu-devel@nongnu.org; Mon, 12 Jan 2009 12:40:26 -0500 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1LMQm0-00080Z-Pp for qemu-devel@nongnu.org; Mon, 12 Jan 2009 17:40:24 +0000 Received: from blueswir1 by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1LMQm0-00080V-KV for qemu-devel@nongnu.org; Mon, 12 Jan 2009 17:40:24 +0000 MIME-Version: 1.0 Errors-To: blueswir1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Blue Swirl Message-Id: Date: Mon, 12 Jan 2009 17:40:24 +0000 Subject: [Qemu-devel] [6271] Use ESCC for PowerMac serial Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 6271 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6271 Author: blueswir1 Date: 2009-01-12 17:40:23 +0000 (Mon, 12 Jan 2009) Log Message: ----------- Use ESCC for PowerMac serial Modified Paths: -------------- trunk/Makefile.target trunk/hw/macio.c trunk/hw/ppc_chrp.c trunk/hw/ppc_mac.h trunk/hw/ppc_oldworld.c Modified: trunk/Makefile.target =================================================================== --- trunk/Makefile.target 2009-01-12 17:38:28 UTC (rev 6270) +++ trunk/Makefile.target 2009-01-12 17:40:23 UTC (rev 6271) @@ -646,7 +646,7 @@ OBJS+= pckbd.o ps2.o serial.o i8259.o i8254.o fdc.o m48t59.o mc146818rtc.o OBJS+= prep_pci.o ppc_prep.o # Mac shared devices -OBJS+= macio.o cuda.o adb.o mac_nvram.o mac_dbdma.o +OBJS+= macio.o cuda.o adb.o mac_nvram.o mac_dbdma.o escc.o # OldWorld PowerMac OBJS+= heathrow_pic.o grackle_pci.o ppc_oldworld.o # NewWorld PowerMac Modified: trunk/hw/macio.c =================================================================== --- trunk/hw/macio.c 2009-01-12 17:38:28 UTC (rev 6270) +++ trunk/hw/macio.c 2009-01-12 17:40:23 UTC (rev 6271) @@ -25,6 +25,7 @@ #include "hw.h" #include "ppc_mac.h" #include "pci.h" +#include "escc.h" typedef struct macio_state_t macio_state_t; struct macio_state_t { @@ -32,6 +33,7 @@ int pic_mem_index; int dbdma_mem_index; int cuda_mem_index; + int escc_mem_index; void *nvram; int nb_ide; int ide_mem_index[4]; @@ -59,6 +61,10 @@ cpu_register_physical_memory(addr + 0x08000, 0x1000, macio_state->dbdma_mem_index); } + if (macio_state->escc_mem_index >= 0) { + cpu_register_physical_memory(addr + 0x13000, ESCC_SIZE << 4, + macio_state->escc_mem_index); + } if (macio_state->cuda_mem_index >= 0) { cpu_register_physical_memory(addr + 0x16000, 0x2000, macio_state->cuda_mem_index); @@ -75,7 +81,7 @@ void macio_init (PCIBus *bus, int device_id, int is_oldworld, int pic_mem_index, int dbdma_mem_index, int cuda_mem_index, void *nvram, - int nb_ide, int *ide_mem_index) + int nb_ide, int *ide_mem_index, int escc_mem_index) { PCIDevice *d; macio_state_t *macio_state; @@ -89,6 +95,7 @@ macio_state->pic_mem_index = pic_mem_index; macio_state->dbdma_mem_index = dbdma_mem_index; macio_state->cuda_mem_index = cuda_mem_index; + macio_state->escc_mem_index = escc_mem_index; macio_state->nvram = nvram; if (nb_ide > 4) nb_ide = 4; Modified: trunk/hw/ppc_chrp.c =================================================================== --- trunk/hw/ppc_chrp.c 2009-01-12 17:38:28 UTC (rev 6270) +++ trunk/hw/ppc_chrp.c 2009-01-12 17:40:23 UTC (rev 6271) @@ -31,6 +31,7 @@ #include "net.h" #include "sysemu.h" #include "boards.h" +#include "escc.h" #define MAX_IDE_BUS 2 @@ -80,7 +81,7 @@ m48t59_t *m48t59; int vga_bios_size, bios_size; qemu_irq *dummy_irq; - int pic_mem_index, dbdma_mem_index, cuda_mem_index; + int pic_mem_index, dbdma_mem_index, cuda_mem_index, escc_mem_index; int ide_mem_index[2]; int ppc_boot_device; int index; @@ -262,8 +263,8 @@ /* XXX: suppress that */ dummy_irq = i8259_init(NULL); - /* XXX: use Mac Serial port */ - serial_init(0x3f8, dummy_irq[4], 115200, serial_hds[0]); + escc_mem_index = escc_init(0x80013000, dummy_irq[4], serial_hds[0], + serial_hds[1], ESCC_CLOCK, 4); for(i = 0; i < nb_nics; i++) { if (!nd_table[i].model) nd_table[i].model = "ne2k_pci"; @@ -295,7 +296,7 @@ dbdma_init(&dbdma_mem_index); macio_init(pci_bus, 0x0022, 0, pic_mem_index, dbdma_mem_index, - cuda_mem_index, NULL, 2, ide_mem_index); + cuda_mem_index, NULL, 2, ide_mem_index, escc_mem_index); if (usb_enabled) { usb_ohci_init_pci(pci_bus, 3, -1); Modified: trunk/hw/ppc_mac.h =================================================================== --- trunk/hw/ppc_mac.h 2009-01-12 17:38:28 UTC (rev 6270) +++ trunk/hw/ppc_mac.h 2009-01-12 17:40:23 UTC (rev 6271) @@ -37,6 +37,8 @@ #define KERNEL_LOAD_ADDR 0x01000000 #define INITRD_LOAD_ADDR 0x01800000 +#define ESCC_CLOCK 3686400 + /* DBDMA */ void dbdma_init (int *dbdma_mem_index); @@ -46,7 +48,7 @@ /* MacIO */ void macio_init (PCIBus *bus, int device_id, int is_oldworld, int pic_mem_index, int dbdma_mem_index, int cuda_mem_index, void *nvram, - int nb_ide, int *ide_mem_index); + int nb_ide, int *ide_mem_index, int escc_mem_index); /* NewWorld PowerMac IDE */ int pmac_ide_init (BlockDriverState **hd_table, qemu_irq irq); Modified: trunk/hw/ppc_oldworld.c =================================================================== --- trunk/hw/ppc_oldworld.c 2009-01-12 17:38:28 UTC (rev 6270) +++ trunk/hw/ppc_oldworld.c 2009-01-12 17:40:23 UTC (rev 6271) @@ -33,6 +33,7 @@ #include "pci.h" #include "boards.h" #include "fw_cfg.h" +#include "escc.h" #define MAX_IDE_BUS 2 #define VGA_BIOS_SIZE 65536 @@ -126,7 +127,7 @@ int vga_bios_size, bios_size; qemu_irq *dummy_irq; int pic_mem_index, nvram_mem_index, dbdma_mem_index, cuda_mem_index; - int ide_mem_index[2]; + int escc_mem_index, ide_mem_index[2]; int ppc_boot_device; BlockDriverState *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; int index; @@ -296,8 +297,8 @@ /* XXX: suppress that */ dummy_irq = i8259_init(NULL); - /* XXX: use Mac Serial port */ - serial_init(0x3f8, dummy_irq[4], 115200, serial_hds[0]); + escc_mem_index = escc_init(0x80013000, pic[0x10], serial_hds[0], + serial_hds[1], ESCC_CLOCK, 4); for(i = 0; i < nb_nics; i++) { if (!nd_table[i].model) @@ -350,7 +351,7 @@ dbdma_init(&dbdma_mem_index); macio_init(pci_bus, 0x0010, 1, pic_mem_index, dbdma_mem_index, - cuda_mem_index, nvr, 2, ide_mem_index); + cuda_mem_index, nvr, 2, ide_mem_index, escc_mem_index); if (usb_enabled) { usb_ohci_init_pci(pci_bus, 3, -1);