* [Qemu-devel] [PATCH 1/3] r2d add pflash support
@ 2009-04-26 16:36 Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 16:36 ` [Qemu-devel] [PATCH 2/3] sh: SCI improvements Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 16:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Jean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
Makefile.target | 2 +-
hw/r2d.c | 27 +++++++++++++++++++++------
hw/sh7750_regs.h | 12 ++++++++++++
3 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/Makefile.target b/Makefile.target
index ee0f74b..a2e20ec 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -681,7 +681,7 @@ endif
ifeq ($(TARGET_BASE_ARCH), sh4)
OBJS+= shix.o r2d.o sh7750.o sh7750_regnames.o tc58128.o
OBJS+= sh_timer.o sh_serial.o sh_intc.o sh_pci.o sm501.o serial.o
-OBJS+= ide.o
+OBJS+= ide.o pflash_cfi02.o
endif
ifeq ($(TARGET_BASE_ARCH), m68k)
OBJS+= an5206.o mcf5206.o mcf_uart.o mcf_intc.o mcf5208.o mcf_fec.o
diff --git a/hw/r2d.c b/hw/r2d.c
index 950576c..d1a2ccf 100644
--- a/hw/r2d.c
+++ b/hw/r2d.c
@@ -31,9 +31,11 @@
#include "pci.h"
#include "net.h"
#include "sh7750_regs.h"
+#include "flash.h"
-#define SDRAM_BASE 0x0c000000 /* Physical location of SDRAM: Area 3 */
-#define SDRAM_SIZE 0x04000000
+#define SDRAM_BASE SH7750_A3_BASE /* Physical location of SDRAM: Area 3 */
+#define SDRAM_SIZE 0x04000000
+#define FLASH_SIZE 0x02000000
#define SM501_VRAM_SIZE 0x800000
@@ -204,6 +206,7 @@ static void r2d_init(ram_addr_t ram_size, int vga_ram_size,
qemu_irq *irq;
PCIBus *pci;
int i;
+ int index;
if (!cpu_model)
cpu_model = "SH7751R";
@@ -219,10 +222,10 @@ static void r2d_init(ram_addr_t ram_size, int vga_ram_size,
cpu_register_physical_memory(SDRAM_BASE, SDRAM_SIZE, sdram_addr);
/* Register peripherals */
s = sh7750_init(env);
- irq = r2d_fpga_init(0x04000000, sh7750_irl(s));
+ irq = r2d_fpga_init(SH7750_A1_BASE, sh7750_irl(s));
pci = sh_pci_register_bus(r2d_pci_set_irq, r2d_pci_map_irq, irq, 0, 4);
- sm501_init(0x10000000, SM501_VRAM_SIZE, irq[SM501], serial_hds[2]);
+ sm501_init(SH7750_A4_BASE, SM501_VRAM_SIZE, irq[SM501], serial_hds[2]);
/* onboard CF (True IDE mode, Master only). */
if ((i = drive_get_index(IF_IDE, 0, 0)) != -1)
@@ -233,6 +236,18 @@ static void r2d_init(ram_addr_t ram_size, int vga_ram_size,
for (i = 0; i < nb_nics; i++)
pci_nic_init(pci, &nd_table[i], (i==0)? 2<<3: -1, "rtl8139");
+ if ((index = drive_get_index(IF_PFLASH, 0, 0)) > -1) {
+ uint32_t sector_len = 128 * 1024;
+
+ if (!pflash_cfi02_register(SH7750_A0_BASE, qemu_ram_alloc(FLASH_SIZE),
+ drives_table[index].bdrv, sector_len, FLASH_SIZE / sector_len,
+ 1, 4, 0, 0, 0, 0, 0, 0)) {
+ fprintf(stderr, "qemu: Error registering flash memory.\n");
+ } else {
+ env->pc = SH7750_P2_BASE;
+ }
+ }
+
/* Todo: register on board registers */
if (kernel_filename) {
int kernel_size;
@@ -244,11 +259,11 @@ static void r2d_init(ram_addr_t ram_size, int vga_ram_size,
kernel_size = load_image_targphys(kernel_filename,
SDRAM_BASE + LINUX_LOAD_OFFSET,
SDRAM_SIZE - LINUX_LOAD_OFFSET);
- env->pc = (SDRAM_BASE + LINUX_LOAD_OFFSET) | 0xa0000000;
+ env->pc = (SDRAM_BASE + LINUX_LOAD_OFFSET) | SH7750_P2_BASE;
pstrcpy_targphys(SDRAM_BASE + 0x10100, 256, kernel_cmdline);
} else {
kernel_size = load_image_targphys(kernel_filename, SDRAM_BASE, SDRAM_SIZE);
- env->pc = SDRAM_BASE | 0xa0000000; /* Start from P2 area */
+ env->pc = SDRAM_BASE | SH7750_P2_BASE; /* Start from P2 area */
}
if (kernel_size < 0) {
diff --git a/hw/sh7750_regs.h b/hw/sh7750_regs.h
index 5a23a2c..1280fec 100644
--- a/hw/sh7750_regs.h
+++ b/hw/sh7750_regs.h
@@ -23,6 +23,7 @@
* All register has 2 addresses: in 0xff000000 - 0xffffffff (P4 address) and
* in 0x1f000000 - 0x1fffffff (area 7 address)
*/
+#define SH7750_P2_BASE 0xa0000000
#define SH7750_P4_BASE 0xff000000 /* Accessable only in
priveleged mode */
#define SH7750_A7_BASE 0x1f000000 /* Accessable only using TLB */
@@ -31,6 +32,17 @@
#define SH7750_A7_REG32(ofs) (SH7750_A7_BASE + (ofs))
/*
+ * External Memory Space
+ */
+#define SH7750_A0_BASE 0x00000000
+#define SH7750_A1_BASE 0x04000000
+#define SH7750_A2_BASE 0x08000000
+#define SH7750_A3_BASE 0x0C000000
+#define SH7750_A4_BASE 0x10000000
+#define SH7750_A5_BASE 0x14000000
+#define SH7750_A6_BASE 0x18000000
+
+/*
* MMU Registers
*/
--
1.6.2.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 2/3] sh: SCI improvements
2009-04-26 16:36 [Qemu-devel] [PATCH 1/3] r2d add pflash support Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-26 16:36 ` Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 16:36 ` [Qemu-devel] [PATCH 3/3] sh/serial: allow cpu regs definition Jean-Christophe PLAGNIOL-VILLARD
2009-04-30 2:10 ` [Qemu-devel] Re: [PATCH 2/3] sh: SCI improvements Shin-ichiro KAWASAKI
0 siblings, 2 replies; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 16:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Shin-ichiro KAWASAKI
From: Shin-ichiro KAWASAKI <kawasaki@juno.dti.ne.jp>
SE7750 uses SCI := Serial Communication Interface for one of consoles.
This patch completes the SCI implementation, and makes SCI available
for a console.
# Tabs and spaces are mixed in "hw/sh_serial.c" so much.
# Some clean up might be useful.
Signed-off-by: Shin-ichiro KAWASAKI <kawasaki@juno.dti.ne.jp>
---
hw/sh_serial.c | 92 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 53 insertions(+), 39 deletions(-)
diff --git a/hw/sh_serial.c b/hw/sh_serial.c
index 4957c41..c3eb146 100644
--- a/hw/sh_serial.c
+++ b/hw/sh_serial.c
@@ -96,7 +96,7 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
s->scr = val & ((s->feat & SH_SERIAL_FEAT_SCIF) ? 0xfa : 0xff);
if (!(val & (1 << 5)))
s->flags |= SH_SERIAL_FLAG_TEND;
- if ((s->feat & SH_SERIAL_FEAT_SCIF) && s->txi) {
+ if (s->txi) {
qemu_set_irq(s->txi, val & (1 << 7));
}
if (!(val & (1 << 6))) {
@@ -109,13 +109,15 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
qemu_chr_write(s->chr, &ch, 1);
}
s->dr = val;
- s->flags &= ~SH_SERIAL_FLAG_TDE;
+ if (s->feat & SH_SERIAL_FEAT_SCIF)
+ s->flags &= ~SH_SERIAL_FLAG_TDE;
+ else
+ s->flags |= SH_SERIAL_FLAG_TDE;
return;
-#if 0
case 0x14: /* FRDR / RDR */
- ret = 0;
+ /* do nothing */
+ return;
break;
-#endif
}
if (s->feat & SH_SERIAL_FEAT_SCIF) {
switch(offs) {
@@ -165,17 +167,33 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
case 0x24: /* LSR */
return;
}
- }
- else {
+ } else { /* SCI */
switch(offs) {
-#if 0
- case 0x0c:
- ret = s->dr;
- break;
- case 0x10:
- ret = 0;
- break;
-#endif
+ case 0x0c: /* TDR */
+ if (s->chr) {
+ ch = val;
+ qemu_chr_write(s->chr, &ch, 1);
+ }
+ s->dr = val;
+ s->flags |= SH_SERIAL_FLAG_TDE | SH_SERIAL_FLAG_TEND;
+ if (s->scr & (1 << 7) && s->txi) {
+ qemu_set_irq(s->txi, 1);
+ }
+ return;
+ case 0x10: /* SSR */
+ /*
+ * Ignore TDRE (1 << 7) bit because TDR is always
+ * writable in this SCI emulation.
+ */
+ if (!(val & (1 << 6))) {
+ s->flags &= ~SH_SERIAL_FLAG_RDF;
+ }
+ if (!(val & (1 << 6))) {
+ if (s->rxi) {
+ qemu_set_irq(s->rxi, 0);
+ }
+ }
+ return;
case 0x1c:
s->sptr = val & 0x8f;
return;
@@ -191,30 +209,19 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
sh_serial_state *s = opaque;
uint32_t ret = ~0;
-#if 0
switch(offs) {
- case 0x00:
+ case 0x00: /* SMR */
ret = s->smr;
break;
- case 0x04:
+ case 0x04: /* BRR */
ret = s->brr;
break;
- case 0x08:
+ case 0x08: /* SCR */
ret = s->scr;
break;
- case 0x14:
- ret = 0;
- break;
}
-#endif
if (s->feat & SH_SERIAL_FEAT_SCIF) {
switch(offs) {
- case 0x00: /* SMR */
- ret = s->smr;
- break;
- case 0x08: /* SCR */
- ret = s->scr;
- break;
case 0x10: /* FSR */
ret = 0;
if (s->flags & SH_SERIAL_FLAG_TEND)
@@ -242,11 +249,9 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
s->flags &= ~SH_SERIAL_FLAG_RDF;
}
break;
-#if 0
case 0x18:
ret = s->fcr;
break;
-#endif
case 0x1c:
ret = s->rx_cnt;
break;
@@ -257,21 +262,26 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
ret = 0;
break;
}
- }
- else {
+ } else {
switch(offs) {
-#if 0
- case 0x0c:
+ case 0x0c: /* TDR */
ret = s->dr;
break;
- case 0x10:
+ case 0x10: /* SSR */
ret = 0;
+ if (s->flags & SH_SERIAL_FLAG_TDE)
+ ret |= (1 << 7);
+ if (s->flags & SH_SERIAL_FLAG_RDF)
+ ret |= (1 << 6);
+ if (s->flags & SH_SERIAL_FLAG_TEND)
+ ret |= (1 << 2);
+ /* TODO : handle bit MPBT */
break;
- case 0x14:
+ case 0x14: /* RDR */
ret = s->rx_fifo[0];
+ s->flags &= ~SH_SERIAL_FLAG_RDF;
break;
-#endif
- case 0x1c:
+ case 0x1c: /* SPTR */
ret = s->sptr;
break;
}
@@ -311,6 +321,10 @@ static void sh_serial_receive_byte(sh_serial_state *s, int ch)
}
} else {
s->rx_fifo[0] = ch;
+ s->flags |= SH_SERIAL_FLAG_RDF;
+ if (s->scr & (1 << 6) && s->rxi) {
+ qemu_set_irq(s->rxi, 1);
+ }
}
}
--
1.6.2.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 3/3] sh/serial: allow cpu regs definition
2009-04-26 16:36 ` [Qemu-devel] [PATCH 2/3] sh: SCI improvements Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-26 16:36 ` Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 21:10 ` [Qemu-devel] [PATCH 1/1] r2dplus: add cfi flash support and enable it Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 21:48 ` [Qemu-devel] [PATCH] sh/r2d: add default pflash file support Jean-Christophe PLAGNIOL-VILLARD
2009-04-30 2:10 ` [Qemu-devel] Re: [PATCH 2/3] sh: SCI improvements Shin-ichiro KAWASAKI
1 sibling, 2 replies; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 16:36 UTC (permalink / raw)
To: qemu-devel; +Cc: Jean-Christophe PLAGNIOL-VILLARD
sh_serial_regs will allow to define the SCI/SCIF cpu regs
need to add SH cpu other than sh7750
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
hw/sh.h | 2 +
hw/sh7750.c | 30 +++++++++++++++++++-
hw/sh_serial.c | 86 ++++++++++++++++++++++++++-----------------------------
hw/sh_serial.h | 42 +++++++++++++++++++++++++++
4 files changed, 114 insertions(+), 46 deletions(-)
create mode 100644 hw/sh_serial.h
diff --git a/hw/sh.h b/hw/sh.h
index 5e3c22b..c92fa8c 100644
--- a/hw/sh.h
+++ b/hw/sh.h
@@ -3,6 +3,7 @@
/* Definitions for SH board emulation. */
#include "sh_intc.h"
+#include "sh_serial.h"
#define A7ADDR(x) ((x) & 0x1fffffff)
#define P4ADDR(x) ((x) | 0xe0000000)
@@ -38,6 +39,7 @@ void tmu012_init(target_phys_addr_t base, int feat, uint32_t freq,
/* sh_serial.c */
#define SH_SERIAL_FEAT_SCIF (1 << 0)
void sh_serial_init (target_phys_addr_t base, int feat,
+ sh_serial_regs *regs,
uint32_t freq, CharDriverState *chr,
qemu_irq eri_source,
qemu_irq rxi_source,
diff --git a/hw/sh7750.c b/hw/sh7750.c
index 423c43f..a43551d 100644
--- a/hw/sh7750.c
+++ b/hw/sh7750.c
@@ -30,6 +30,7 @@
#include "sh7750_regs.h"
#include "sh7750_regnames.h"
#include "sh_intc.h"
+#include "sh_serial.h"
#include "exec-all.h"
#include "cpu.h"
@@ -701,6 +702,31 @@ static CPUWriteMemoryFunc *sh7750_mmct_write[] = {
sh7750_mmct_writel
};
+sh_serial_regs sh7750_sci = {
+ .scsmr = 0x0,
+ .scbrr = 0x4,
+ .scscr = 0x8,
+ .scftdr = 0xc, /* AS TDR for SCI */
+ .scfsr = 0x10, /* AS SSR for SCI */
+ .scfrdr = 0x14, /* AS RDR for SCI */
+ .scscmr = 0x18,
+ .scsptr = 0x1c,
+};
+
+sh_serial_regs sh7750_scif = {
+ .scsmr = 0x0,
+ .scbrr = 0x4,
+ .scscr = 0x8,
+ .scftdr = 0xc,
+ .scfsr = 0x10,
+ .scfrdr = 0x14,
+ .scfcr = 0x18,
+ .scfdr = 0x1c,
+ .scsptr = 0x20,
+ .sclsr = 0x24,
+};
+
+
SH7750State *sh7750_init(CPUSH4State * cpu)
{
SH7750State *s;
@@ -742,13 +768,15 @@ SH7750State *sh7750_init(CPUSH4State * cpu)
cpu->intc_handle = &s->intc;
- sh_serial_init(0x1fe00000, 0, s->periph_freq, serial_hds[0],
+ sh_serial_init(0x1fe00000, 0, &sh7750_sci,
+ s->periph_freq, serial_hds[0],
s->intc.irqs[SCI1_ERI],
s->intc.irqs[SCI1_RXI],
s->intc.irqs[SCI1_TXI],
s->intc.irqs[SCI1_TEI],
NULL);
sh_serial_init(0x1fe80000, SH_SERIAL_FEAT_SCIF,
+ &sh7750_scif,
s->periph_freq, serial_hds[1],
s->intc.irqs[SCIF_ERI],
s->intc.irqs[SCIF_RXI],
diff --git a/hw/sh_serial.c b/hw/sh_serial.c
index c3eb146..7abbc49 100644
--- a/hw/sh_serial.c
+++ b/hw/sh_serial.c
@@ -26,6 +26,7 @@
*/
#include "hw.h"
#include "sh.h"
+#include "sh_serial.h"
#include "qemu-char.h"
#include <assert.h>
@@ -65,6 +66,8 @@ typedef struct {
qemu_irq txi;
qemu_irq tei;
qemu_irq bri;
+
+ sh_serial_regs *regs;
} sh_serial_state;
static void sh_serial_clear_fifo(sh_serial_state * s)
@@ -78,20 +81,22 @@ static void sh_serial_clear_fifo(sh_serial_state * s)
static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
{
sh_serial_state *s = opaque;
+ sh_serial_regs *regs = s->regs;
unsigned char ch;
#ifdef DEBUG_SERIAL
printf("sh_serial: write offs=0x%02x val=0x%02x\n",
offs, val);
#endif
- switch(offs) {
- case 0x00: /* SMR */
+ if (offs == regs->scsmr) { /* SMR */
s->smr = val & ((s->feat & SH_SERIAL_FEAT_SCIF) ? 0x7b : 0xff);
return;
- case 0x04: /* BRR */
+ }
+ if (offs == regs->scbrr) { /* BRR */
s->brr = val;
return;
- case 0x08: /* SCR */
+ }
+ if (offs == regs->scscr) { /* SCR */
/* TODO : For SH7751, SCIF mask should be 0xfb. */
s->scr = val & ((s->feat & SH_SERIAL_FEAT_SCIF) ? 0xfa : 0xff);
if (!(val & (1 << 5)))
@@ -103,7 +108,8 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
qemu_set_irq(s->rxi, 0);
}
return;
- case 0x0c: /* FTDR / TDR */
+ }
+ if (offs == regs->scftdr) { /* FTDR / TDR */
if (s->chr) {
ch = val;
qemu_chr_write(s->chr, &ch, 1);
@@ -114,14 +120,13 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
else
s->flags |= SH_SERIAL_FLAG_TDE;
return;
- case 0x14: /* FRDR / RDR */
+ }
+ if (offs == regs->scfrdr) { /* FRDR / RDR */
/* do nothing */
return;
- break;
}
if (s->feat & SH_SERIAL_FEAT_SCIF) {
- switch(offs) {
- case 0x10: /* FSR */
+ if (offs == regs->scfsr) { /* FSR */
if (!(val & (1 << 6)))
s->flags &= ~SH_SERIAL_FLAG_TEND;
if (!(val & (1 << 5)))
@@ -139,7 +144,8 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
}
}
return;
- case 0x18: /* FCR */
+ }
+ if (offs == regs->scfcr) { /* FCR */
s->fcr = val;
switch ((val >> 6) & 3) {
case 0:
@@ -161,15 +167,16 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
}
return;
- case 0x20: /* SPTR */
+ }
+ if (offs == regs->scsptr) { /* SPTR */
s->sptr = val & 0xf3;
return;
- case 0x24: /* LSR */
+ }
+ if (offs == regs->sclsr) { /* LSR */
return;
}
} else { /* SCI */
- switch(offs) {
- case 0x0c: /* TDR */
+ if (offs == regs->scftdr) { /* TDR */
if (s->chr) {
ch = val;
qemu_chr_write(s->chr, &ch, 1);
@@ -180,7 +187,8 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
qemu_set_irq(s->txi, 1);
}
return;
- case 0x10: /* SSR */
+ }
+ if (offs == regs->scfsr) { /* SSR */
/*
* Ignore TDRE (1 << 7) bit because TDR is always
* writable in this SCI emulation.
@@ -194,7 +202,8 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
}
}
return;
- case 0x1c:
+ }
+ if (offs == regs->scsptr) {
s->sptr = val & 0x8f;
return;
}
@@ -207,22 +216,18 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
{
sh_serial_state *s = opaque;
+ sh_serial_regs *regs = s->regs;
uint32_t ret = ~0;
- switch(offs) {
- case 0x00: /* SMR */
+ if (offs == regs->scsmr) { /* SMR */
ret = s->smr;
- break;
- case 0x04: /* BRR */
+ } else if (offs == regs->scbrr) { /* BRR */
ret = s->brr;
- break;
- case 0x08: /* SCR */
+ } else if (offs == regs->scscr) { /* SCR */
ret = s->scr;
- break;
}
if (s->feat & SH_SERIAL_FEAT_SCIF) {
- switch(offs) {
- case 0x10: /* FSR */
+ if (offs == regs->scfsr) { /* FSR */
ret = 0;
if (s->flags & SH_SERIAL_FLAG_TEND)
ret |= (1 << 6);
@@ -238,8 +243,7 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
if (s->scr & (1 << 5))
s->flags |= SH_SERIAL_FLAG_TDE | SH_SERIAL_FLAG_TEND;
- break;
- case 0x14:
+ } else if (offs == regs->scfrdr) {
if (s->rx_cnt > 0) {
ret = s->rx_fifo[s->rx_tail++];
s->rx_cnt--;
@@ -248,26 +252,19 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
if (s->rx_cnt < s->rtrg)
s->flags &= ~SH_SERIAL_FLAG_RDF;
}
- break;
- case 0x18:
+ } else if (offs == regs->scfcr) {
ret = s->fcr;
- break;
- case 0x1c:
+ } else if (offs == regs->scfdr) {
ret = s->rx_cnt;
- break;
- case 0x20:
+ } else if (offs == regs->scsptr) {
ret = s->sptr;
- break;
- case 0x24:
+ } else if (offs == regs->sclsr) {
ret = 0;
- break;
}
} else {
- switch(offs) {
- case 0x0c: /* TDR */
+ if (offs == regs->scftdr) { /* TDR */
ret = s->dr;
- break;
- case 0x10: /* SSR */
+ } else if (offs == regs->scfsr) { /* SSR */
ret = 0;
if (s->flags & SH_SERIAL_FLAG_TDE)
ret |= (1 << 7);
@@ -276,14 +273,11 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
if (s->flags & SH_SERIAL_FLAG_TEND)
ret |= (1 << 2);
/* TODO : handle bit MPBT */
- break;
- case 0x14: /* RDR */
+ } else if (offs == regs->scfrdr) { /* RDR */
ret = s->rx_fifo[0];
s->flags &= ~SH_SERIAL_FLAG_RDF;
- break;
- case 0x1c: /* SPTR */
+ } else if (offs == regs->scsptr) { /* PTR */
ret = s->sptr;
- break;
}
}
#ifdef DEBUG_SERIAL
@@ -379,6 +373,7 @@ static CPUWriteMemoryFunc *sh_serial_writefn[] = {
};
void sh_serial_init (target_phys_addr_t base, int feat,
+ sh_serial_regs *regs,
uint32_t freq, CharDriverState *chr,
qemu_irq eri_source,
qemu_irq rxi_source,
@@ -392,6 +387,7 @@ void sh_serial_init (target_phys_addr_t base, int feat,
s = qemu_mallocz(sizeof(sh_serial_state));
s->feat = feat;
+ s->regs = regs;
s->flags = SH_SERIAL_FLAG_TEND | SH_SERIAL_FLAG_TDE;
s->rtrg = 1;
diff --git a/hw/sh_serial.h b/hw/sh_serial.h
new file mode 100644
index 0000000..dc27ce9
--- /dev/null
+++ b/hw/sh_serial.h
@@ -0,0 +1,42 @@
+/*
+ * QEMU SH serial port emulation
+ *
+ * Copyright (c) 2009 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#ifndef __SH_SERIAL_H__
+#define __SH_SERIAL_H__
+
+typedef struct sh_serial_regs {
+ uint16_t scsmr;
+ uint16_t scbrr;
+ uint16_t scscr;
+ uint16_t scftdr; /* AS TDR for SCI */
+ uint16_t scfsr; /* AS SSR for SCI */
+ uint16_t scfrdr; /* AS RDR for SCI */
+ uint16_t scfcr; /* SCIF only */
+ uint16_t scfdr; /* SCIF only */
+ uint16_t scsptr;
+ uint16_t scscmr; /* SCI only */
+ uint16_t sclsr; /* SCIF only */
+} sh_serial_regs;
+
+#endif /* __SH_SERIAL_H__ */
--
1.6.2.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 1/1] r2dplus: add cfi flash support and enable it
2009-04-26 16:36 ` [Qemu-devel] [PATCH 3/3] sh/serial: allow cpu regs definition Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-26 21:10 ` Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 21:48 ` [Qemu-devel] [PATCH] sh/r2d: add default pflash file support Jean-Christophe PLAGNIOL-VILLARD
1 sibling, 0 replies; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 21:10 UTC (permalink / raw)
To: qemu-devel; +Cc: Jean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
arch/sh/boards/mach-r2d/setup.c | 49 ++++++++++++++++
arch/sh/configs/rts7751r2dplus_defconfig | 91 +++++++++++++++++++++++++++++-
2 files changed, 137 insertions(+), 3 deletions(-)
diff --git a/arch/sh/boards/mach-r2d/setup.c b/arch/sh/boards/mach-r2d/setup.c
index c585be0..1582d4e 100644
--- a/arch/sh/boards/mach-r2d/setup.c
+++ b/arch/sh/boards/mach-r2d/setup.c
@@ -10,6 +10,10 @@
*/
#include <linux/init.h>
#include <linux/platform_device.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
+#include <linux/mtd/physmap.h>
+#include <linux/mtd/map.h>
#include <linux/ata_platform.h>
#include <linux/sm501.h>
#include <linux/sm501-regs.h>
@@ -181,10 +185,55 @@ static struct platform_device sm501_device = {
.resource = sm501_resources,
};
+static struct mtd_partition r2d_partitions[] = {
+ {
+ .name = "U-Boot",
+ .offset = 0x00000000,
+ .size = 0x00040000,
+ .mask_flags = MTD_WRITEABLE,
+ }, {
+ .name = "Environment",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = 0x00040000,
+ .mask_flags = MTD_WRITEABLE,
+ }, {
+ .name = "Kernel",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = 0x001c0000,
+ }, {
+ .name = "Flash_FS",
+ .offset = MTDPART_OFS_NXTBLK,
+ .size = MTDPART_SIZ_FULL,
+ }
+};
+
+static struct physmap_flash_data flash_data = {
+ .width = 2,
+ .nr_parts = ARRAY_SIZE(r2d_partitions),
+ .parts = r2d_partitions,
+};
+
+static struct resource flash_resource = {
+ .start = 0x00000000,
+ .end = 0x02000000,
+ .flags = IORESOURCE_MEM,
+};
+
+static struct platform_device flash_device = {
+ .name = "physmap-flash",
+ .id = -1,
+ .resource = &flash_resource,
+ .num_resources = 1,
+ .dev = {
+ .platform_data = &flash_data,
+ },
+};
+
static struct platform_device *rts7751r2d_devices[] __initdata = {
&sm501_device,
&heartbeat_device,
&spi_sh_sci_device,
+ &flash_device,
};
/*
diff --git a/arch/sh/configs/rts7751r2dplus_defconfig b/arch/sh/configs/rts7751r2dplus_defconfig
index 8feef62..4f7fa32 100644
--- a/arch/sh/configs/rts7751r2dplus_defconfig
+++ b/arch/sh/configs/rts7751r2dplus_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.29
-# Thu Apr 2 18:34:12 2009
+# Linux kernel version: 2.6.30-rc3
+# Sun Apr 26 17:56:14 2009
#
CONFIG_SUPERH=y
CONFIG_SUPERH32=y
@@ -424,7 +424,92 @@ CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+# CONFIG_MTD_BLKDEVS is not set
+# CONFIG_MTD_BLOCK is not set
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_CPQ_CISS_DA is not set
--
1.6.1.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH] sh/r2d: add default pflash file support
2009-04-26 16:36 ` [Qemu-devel] [PATCH 3/3] sh/serial: allow cpu regs definition Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 21:10 ` [Qemu-devel] [PATCH 1/1] r2dplus: add cfi flash support and enable it Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-26 21:48 ` Jean-Christophe PLAGNIOL-VILLARD
1 sibling, 0 replies; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-04-26 21:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Jean-Christophe PLAGNIOL-VILLARD
the default flash file containt the last U-Boot release : 2009.03
it's store compressed (gzip) as it's a dump of a 32MB CFI Flash and will
be uncompressed at the install
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
---
Makefile | 13 +++++++++++++
configure | 14 ++++++++++++++
hw/r2d.c | 26 +++++++++++++++++---------
pc-bios/r2d-flash.bin.gz | Bin 0 -> 106561 bytes
sysemu.h | 7 +++++++
vl.c | 7 -------
6 files changed, 51 insertions(+), 16 deletions(-)
create mode 100644 pc-bios/r2d-flash.bin.gz
diff --git a/Makefile b/Makefile
index 0f40cda..d9b81e6 100644
--- a/Makefile
+++ b/Makefile
@@ -259,6 +259,12 @@ else
BLOBS=
endif
+ifdef INSTALL_COMPRESSED_PFLASHS
+PFLASHS=r2d-flash.bin.gz
+else
+PFLASHS=
+endif
+
install-doc: $(DOCS)
$(INSTALL_DIR) "$(DESTDIR)$(docdir)"
$(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(docdir)"
@@ -280,6 +286,13 @@ ifneq ($(BLOBS),)
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
done
endif
+ifneq ($(PFLASHS),)
+ $(INSTALL_DIR) "$(DESTDIR)$(datadir)"
+ set -e; for x in $(PFLASHS); do \
+ $(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
+ $(GUNZIP) "$(DESTDIR)$(datadir)/$$x"; \
+ done
+endif
ifndef CONFIG_WIN32
$(INSTALL_DIR) "$(DESTDIR)$(datadir)/keymaps"
set -e; for x in $(KEYMAPS); do \
diff --git a/configure b/configure
index 2f4ccfb..8468083 100755
--- a/configure
+++ b/configure
@@ -33,6 +33,7 @@ host_cc="gcc"
ar="ar"
make="make"
install="install"
+gunzip="gunzip"
strip="strip"
# parse CC options first
@@ -191,6 +192,7 @@ kvm="yes"
kerneldir=""
aix="no"
blobs="yes"
+flashs="yes"
fdt="yes"
sdl_x11="no"
xen="yes"
@@ -380,6 +382,8 @@ for opt do
;;
--install=*) install="$optarg"
;;
+ --gunzip=*) gunzip="$optarg"
+ ;;
--extra-cflags=*) CFLAGS="$optarg"
;;
--extra-ldflags=*) LDFLAGS="$optarg"
@@ -489,6 +493,8 @@ for opt do
;;
--disable-blobs) blobs="no"
;;
+ --disable-flashs) flashs="no"
+ ;;
--kerneldir=*) kerneldir="$optarg"
;;
--with-pkgversion=*) pkgversion=" ($optarg)"
@@ -581,6 +587,7 @@ echo " --extra-cflags=CFLAGS add C compiler flags CFLAGS"
echo " --extra-ldflags=LDFLAGS add linker flags LDFLAGS"
echo " --make=MAKE use specified make [$make]"
echo " --install=INSTALL use specified install [$install]"
+echo " --gunzip=GUNZIP use specified gunzip [$gunzip]"
echo " --static enable static build [$static]"
echo " --enable-debug-tcg enable TCG debugging"
echo " --disable-debug-tcg disable TCG debugging (default)"
@@ -621,6 +628,7 @@ echo " --disable-pthread disable pthread support"
echo " --disable-aio disable AIO support"
echo " --enable-io-thread enable IO thread"
echo " --disable-blobs disable installing provided firmware blobs"
+echo " --disable-pflafhs disable installing provided firmware flashs"
echo " --kerneldir=PATH look for kernel includes in PATH"
echo ""
echo "NOTE: The object files are built at the place where configure is launched"
@@ -1293,6 +1301,7 @@ echo "Host C compiler $host_cc"
echo "ARCH_CFLAGS $ARCH_CFLAGS"
echo "make $make"
echo "install $install"
+echo "gunzip $gunzip"
echo "host CPU $cpu"
echo "host big endian $bigendian"
echo "target list $target_list"
@@ -1339,6 +1348,7 @@ echo "vde support $vde"
echo "AIO support $aio"
echo "IO thread $io_thread"
echo "Install blobs $blobs"
+echo "Install flashs $flashs"
echo "KVM support $kvm"
echo "fdt support $fdt"
echo "preadv support $preadv"
@@ -1377,6 +1387,7 @@ echo "INSTALL=$install" >> $config_mak
echo "INSTALL_DIR=$install -d -m0755 -p" >> $config_mak
echo "INSTALL_DATA=$install -m0644 -p" >> $config_mak
echo "INSTALL_PROG=$install -m0755 -p" >> $config_mak
+echo "GUNZIP=$gunzip" >> $config_mak
echo "CC=$cc" >> $config_mak
echo "HOST_CC=$host_cc" >> $config_mak
echo "AR=$ar" >> $config_mak
@@ -1662,6 +1673,9 @@ fi
if test "$blobs" = "yes" ; then
echo "INSTALL_BLOBS=yes" >> $config_mak
fi
+if test "$flashs" = "yes" ; then
+ echo "INSTALL_COMPRESSED_PFLASHS=yes" >> $config_mak
+fi
if test "$iovec" = "yes" ; then
echo "#define HAVE_IOVEC 1" >> $config_h
fi
diff --git a/hw/r2d.c b/hw/r2d.c
index d1a2ccf..ba2b68f 100644
--- a/hw/r2d.c
+++ b/hw/r2d.c
@@ -33,6 +33,8 @@
#include "sh7750_regs.h"
#include "flash.h"
+#define DEFAULT_PFLASH "r2d-flash.bin"
+
#define SDRAM_BASE SH7750_A3_BASE /* Physical location of SDRAM: Area 3 */
#define SDRAM_SIZE 0x04000000
#define FLASH_SIZE 0x02000000
@@ -207,6 +209,7 @@ static void r2d_init(ram_addr_t ram_size, int vga_ram_size,
PCIBus *pci;
int i;
int index;
+ uint32_t sector_len = 128 * 1024;
if (!cpu_model)
cpu_model = "SH7751R";
@@ -236,16 +239,21 @@ static void r2d_init(ram_addr_t ram_size, int vga_ram_size,
for (i = 0; i < nb_nics; i++)
pci_nic_init(pci, &nd_table[i], (i==0)? 2<<3: -1, "rtl8139");
- if ((index = drive_get_index(IF_PFLASH, 0, 0)) > -1) {
- uint32_t sector_len = 128 * 1024;
+ if ((index = drive_get_index(IF_PFLASH, 0, 0)) < 0) {
+ char buf[1024];
- if (!pflash_cfi02_register(SH7750_A0_BASE, qemu_ram_alloc(FLASH_SIZE),
- drives_table[index].bdrv, sector_len, FLASH_SIZE / sector_len,
- 1, 4, 0, 0, 0, 0, 0, 0)) {
- fprintf(stderr, "qemu: Error registering flash memory.\n");
- } else {
- env->pc = SH7750_P2_BASE;
- }
+ snprintf(buf, sizeof(buf), "%s/%s", bios_dir, DEFAULT_PFLASH);
+ fprintf(stderr, "use default pflash : '%s'\n", buf);
+ index = drive_add(buf, PFLASH_ALIAS);
+ drive_init(&drives_opt[index], 0, &r2d_machine);
+ index = drive_get_index(IF_PFLASH, 0, 0);
+ }
+ if (index > -1 && !pflash_cfi02_register(SH7750_A0_BASE, qemu_ram_alloc(FLASH_SIZE),
+ drives_table[index].bdrv, sector_len, FLASH_SIZE / sector_len,
+ 1, 4, 0, 0, 0, 0, 0, 0)) {
+ fprintf(stderr, "qemu: Error registering flash memory.\n");
+ } else {
+ env->pc = SH7750_P2_BASE;
}
/* Todo: register on board registers */
diff --git a/pc-bios/r2d-flash.bin.gz b/pc-bios/r2d-flash.bin.gz
new file mode 100644
index 0000000000000000000000000000000000000000..3021e3c116deec1f8424db077d47e29332e8b0f7
GIT binary patch
literal 106561
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≈L
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
J`8TNt{|~hrxR3w<
literal 0
HcmV?d00001
diff --git a/sysemu.h b/sysemu.h
index 50438a6..c76aeef 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -131,6 +131,13 @@ extern unsigned int nb_prom_envs;
#define BIOS_SIZE (4 * 1024 * 1024)
#endif
+#define HD_ALIAS "index=%d,media=disk"
+#define CDROM_ALIAS "index=2,media=cdrom"
+#define FD_ALIAS "index=%d,if=floppy"
+#define PFLASH_ALIAS "if=pflash"
+#define MTD_ALIAS "if=mtd"
+#define SD_ALIAS "index=0,if=sd"
+
typedef enum {
IF_IDE, IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN
} BlockInterfaceType;
diff --git a/vl.c b/vl.c
index e4d2887..f1cab0c 100644
--- a/vl.c
+++ b/vl.c
@@ -2085,13 +2085,6 @@ static int bt_parse(const char *opt)
/***********************************************************/
/* QEMU Block devices */
-#define HD_ALIAS "index=%d,media=disk"
-#define CDROM_ALIAS "index=2,media=cdrom"
-#define FD_ALIAS "index=%d,if=floppy"
-#define PFLASH_ALIAS "if=pflash"
-#define MTD_ALIAS "if=mtd"
-#define SD_ALIAS "index=0,if=sd"
-
static int drive_opt_get_free_idx(void)
{
int index;
--
1.6.1.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] Re: [PATCH 2/3] sh: SCI improvements
2009-04-26 16:36 ` [Qemu-devel] [PATCH 2/3] sh: SCI improvements Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 16:36 ` [Qemu-devel] [PATCH 3/3] sh/serial: allow cpu regs definition Jean-Christophe PLAGNIOL-VILLARD
@ 2009-04-30 2:10 ` Shin-ichiro KAWASAKI
1 sibling, 0 replies; 6+ messages in thread
From: Shin-ichiro KAWASAKI @ 2009-04-30 2:10 UTC (permalink / raw)
To: Jean-Christophe PLAGNIOL-VILLARD, qemu-devel
Hi, Jean.
I guess this patch conflicts with Vladimir's patch, which is
almost ready for merge.
http://lists.gnu.org/archive/html/qemu-devel/2009-04/msg01110.html
Revise and repost are necessary.
I suggest you not to expect whole this patch to be applied. How about
making it smaller? I think the following part will be enough for
the purpose to run u-boot on qemu-sh. Could you try it?
> @@ -242,11 +249,9 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
> s->flags &= ~SH_SERIAL_FLAG_RDF;
> }
> break;
> -#if 0
> case 0x18:
> ret = s->fcr;
> break;
> -#endif
> case 0x1c:
> ret = s->rx_cnt;
> break;
Regards,
Shin-ichiro KAWASAKI
Jean-Christophe PLAGNIOL-VILLARD wrote:
> From: Shin-ichiro KAWASAKI <kawasaki@juno.dti.ne.jp>
>
> SE7750 uses SCI := Serial Communication Interface for one of consoles.
> This patch completes the SCI implementation, and makes SCI available
> for a console.
>
> # Tabs and spaces are mixed in "hw/sh_serial.c" so much.
> # Some clean up might be useful.
>
> Signed-off-by: Shin-ichiro KAWASAKI <kawasaki@juno.dti.ne.jp>
> ---
> hw/sh_serial.c | 92 ++++++++++++++++++++++++++++++++-----------------------
> 1 files changed, 53 insertions(+), 39 deletions(-)
>
> diff --git a/hw/sh_serial.c b/hw/sh_serial.c
> index 4957c41..c3eb146 100644
> --- a/hw/sh_serial.c
> +++ b/hw/sh_serial.c
> @@ -96,7 +96,7 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
> s->scr = val & ((s->feat & SH_SERIAL_FEAT_SCIF) ? 0xfa : 0xff);
> if (!(val & (1 << 5)))
> s->flags |= SH_SERIAL_FLAG_TEND;
> - if ((s->feat & SH_SERIAL_FEAT_SCIF) && s->txi) {
> + if (s->txi) {
> qemu_set_irq(s->txi, val & (1 << 7));
> }
> if (!(val & (1 << 6))) {
> @@ -109,13 +109,15 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
> qemu_chr_write(s->chr, &ch, 1);
> }
> s->dr = val;
> - s->flags &= ~SH_SERIAL_FLAG_TDE;
> + if (s->feat & SH_SERIAL_FEAT_SCIF)
> + s->flags &= ~SH_SERIAL_FLAG_TDE;
> + else
> + s->flags |= SH_SERIAL_FLAG_TDE;
> return;
> -#if 0
> case 0x14: /* FRDR / RDR */
> - ret = 0;
> + /* do nothing */
> + return;
> break;
> -#endif
> }
> if (s->feat & SH_SERIAL_FEAT_SCIF) {
> switch(offs) {
> @@ -165,17 +167,33 @@ static void sh_serial_ioport_write(void *opaque, uint32_t offs, uint32_t val)
> case 0x24: /* LSR */
> return;
> }
> - }
> - else {
> + } else { /* SCI */
> switch(offs) {
> -#if 0
> - case 0x0c:
> - ret = s->dr;
> - break;
> - case 0x10:
> - ret = 0;
> - break;
> -#endif
> + case 0x0c: /* TDR */
> + if (s->chr) {
> + ch = val;
> + qemu_chr_write(s->chr, &ch, 1);
> + }
> + s->dr = val;
> + s->flags |= SH_SERIAL_FLAG_TDE | SH_SERIAL_FLAG_TEND;
> + if (s->scr & (1 << 7) && s->txi) {
> + qemu_set_irq(s->txi, 1);
> + }
> + return;
> + case 0x10: /* SSR */
> + /*
> + * Ignore TDRE (1 << 7) bit because TDR is always
> + * writable in this SCI emulation.
> + */
> + if (!(val & (1 << 6))) {
> + s->flags &= ~SH_SERIAL_FLAG_RDF;
> + }
> + if (!(val & (1 << 6))) {
> + if (s->rxi) {
> + qemu_set_irq(s->rxi, 0);
> + }
> + }
> + return;
> case 0x1c:
> s->sptr = val & 0x8f;
> return;
> @@ -191,30 +209,19 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
> sh_serial_state *s = opaque;
> uint32_t ret = ~0;
>
> -#if 0
> switch(offs) {
> - case 0x00:
> + case 0x00: /* SMR */
> ret = s->smr;
> break;
> - case 0x04:
> + case 0x04: /* BRR */
> ret = s->brr;
> break;
> - case 0x08:
> + case 0x08: /* SCR */
> ret = s->scr;
> break;
> - case 0x14:
> - ret = 0;
> - break;
> }
> -#endif
> if (s->feat & SH_SERIAL_FEAT_SCIF) {
> switch(offs) {
> - case 0x00: /* SMR */
> - ret = s->smr;
> - break;
> - case 0x08: /* SCR */
> - ret = s->scr;
> - break;
> case 0x10: /* FSR */
> ret = 0;
> if (s->flags & SH_SERIAL_FLAG_TEND)
> @@ -242,11 +249,9 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
> s->flags &= ~SH_SERIAL_FLAG_RDF;
> }
> break;
> -#if 0
> case 0x18:
> ret = s->fcr;
> break;
> -#endif
> case 0x1c:
> ret = s->rx_cnt;
> break;
> @@ -257,21 +262,26 @@ static uint32_t sh_serial_ioport_read(void *opaque, uint32_t offs)
> ret = 0;
> break;
> }
> - }
> - else {
> + } else {
> switch(offs) {
> -#if 0
> - case 0x0c:
> + case 0x0c: /* TDR */
> ret = s->dr;
> break;
> - case 0x10:
> + case 0x10: /* SSR */
> ret = 0;
> + if (s->flags & SH_SERIAL_FLAG_TDE)
> + ret |= (1 << 7);
> + if (s->flags & SH_SERIAL_FLAG_RDF)
> + ret |= (1 << 6);
> + if (s->flags & SH_SERIAL_FLAG_TEND)
> + ret |= (1 << 2);
> + /* TODO : handle bit MPBT */
> break;
> - case 0x14:
> + case 0x14: /* RDR */
> ret = s->rx_fifo[0];
> + s->flags &= ~SH_SERIAL_FLAG_RDF;
> break;
> -#endif
> - case 0x1c:
> + case 0x1c: /* SPTR */
> ret = s->sptr;
> break;
> }
> @@ -311,6 +321,10 @@ static void sh_serial_receive_byte(sh_serial_state *s, int ch)
> }
> } else {
> s->rx_fifo[0] = ch;
> + s->flags |= SH_SERIAL_FLAG_RDF;
> + if (s->scr & (1 << 6) && s->rxi) {
> + qemu_set_irq(s->rxi, 1);
> + }
> }
> }
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-04-30 2:12 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-26 16:36 [Qemu-devel] [PATCH 1/3] r2d add pflash support Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 16:36 ` [Qemu-devel] [PATCH 2/3] sh: SCI improvements Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 16:36 ` [Qemu-devel] [PATCH 3/3] sh/serial: allow cpu regs definition Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 21:10 ` [Qemu-devel] [PATCH 1/1] r2dplus: add cfi flash support and enable it Jean-Christophe PLAGNIOL-VILLARD
2009-04-26 21:48 ` [Qemu-devel] [PATCH] sh/r2d: add default pflash file support Jean-Christophe PLAGNIOL-VILLARD
2009-04-30 2:10 ` [Qemu-devel] Re: [PATCH 2/3] sh: SCI improvements Shin-ichiro KAWASAKI
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).