All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [Patch V5 4/4] MIPS: add board qemu-mips64 support
Date: Wed, 5 Sep 2012 00:36:44 +0200	[thread overview]
Message-ID: <CACUy__WaGd3AMPgrsT1Y+p5ZiLV2mM9xAo1auZ7ezTS7XBiqvw@mail.gmail.com> (raw)
In-Reply-To: <1346769158-18319-5-git-send-email-etou.zh@gmail.com>

2012/9/4 Zhizhou Zhang <etou.zh@gmail.com>:
> Both big-endian and little-endian are tested with below commands:
> Rom version: (Default, Now we config it as rom version)
> qemu-system-mips64el -M mips -bios u-boot.bin -cpu MIPS64R2-generic -nographic
> qemu-system-mips64 -M mips -bios u-boot.bin -cpu MIPS64R2-generic -nographic
> Ram version:
> qemu-system-mips64el -M mips -cpu MIPS64R2-generic -kernel u-boot -nographic
> qemu-system-mips64 -M mips -cpu MIPS64R2-generic -kernel u-boot -nographic
>
> Signed-off-by: Zhizhou Zhang <etou.zh@gmail.com>
> ---
>  arch/mips/cpu/mips64/Makefile     |   45 +++++++
>  arch/mips/cpu/mips64/cache.S      |  229 +++++++++++++++++++++++++++++++++
>  arch/mips/cpu/mips64/config.mk    |   40 ++++++
>  arch/mips/cpu/mips64/cpu.c        |  111 ++++++++++++++++
>  arch/mips/cpu/mips64/interrupts.c |   34 +++++
>  arch/mips/cpu/mips64/start.S      |  256 +++++++++++++++++++++++++++++++++++++
>  arch/mips/cpu/mips64/time.c       |   87 +++++++++++++
>  board/qemu-mips/u-boot.lds        |    8 ++
>  boards.cfg                        |    2 +
>  examples/standalone/mips64.lds    |   59 +++++++++
>  include/configs/qemu-mips64.h     |  171 +++++++++++++++++++++++++
>  11 files changed, 1042 insertions(+)
>  create mode 100644 arch/mips/cpu/mips64/Makefile
>  create mode 100644 arch/mips/cpu/mips64/cache.S
>  create mode 100644 arch/mips/cpu/mips64/config.mk
>  create mode 100644 arch/mips/cpu/mips64/cpu.c
>  create mode 100644 arch/mips/cpu/mips64/interrupts.c
>  create mode 100644 arch/mips/cpu/mips64/start.S
>  create mode 100644 arch/mips/cpu/mips64/time.c
>  create mode 100644 examples/standalone/mips64.lds
>  create mode 100644 include/configs/qemu-mips64.h
>
[...]
> diff --git a/include/configs/qemu-mips64.h b/include/configs/qemu-mips64.h
> new file mode 100644
> index 0000000..216326d
> --- /dev/null
> +++ b/include/configs/qemu-mips64.h
> @@ -0,0 +1,171 @@
> +/*
> + * (C) Copyright 2003
> + * Wolfgang Denk, DENX Software Engineering, wd at denx.de.
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License, or (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
> + * MA 02111-1307 USA
> + */
> +
> +/*
> + * This file contains the configuration parameters for qemu-mips64 target.
> + */
> +
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +#define CONFIG_MIPS64                  /* MIPS64 CPU core */
> +#define CONFIG_QEMU_MIPS1

#define CONFIG_QEMU_MIPS

arch/mips/lib/config.mk depends on that config option

> +#define CONFIG_MISC_INIT_R
> +
> +#define CONFIG_BOOTDELAY       10      /* autoboot after 10 seconds */
> +
> +#define CONFIG_BAUDRATE                115200
> +
> +/* valid baudrates */
> +#define CONFIG_SYS_BAUDRATE_TABLE      { 9600, 19200, 38400, 57600, 115200 }
> +
> +#define CONFIG_TIMESTAMP               /* Print image info with timestamp */
> +#undef CONFIG_BOOTARGS
> +
> +#define CONFIG_EXTRA_ENV_SETTINGS                                      \
> +       "addmisc=setenv bootargs ${bootargs} "                          \
> +               "console=ttyS0,${baudrate} "                            \
> +               "panic=1\0"                                             \
> +       "bootfile=/tftpboot/vmlinux\0"                                  \
> +       "load=tftp ffffffff80500000 ${u-boot}\0"                        \
> +       ""
> +
> +/*
> + * BOOTP options
> + */
> +#define CONFIG_BOOTP_BOOTFILESIZE
> +#define CONFIG_BOOTP_BOOTPATH
> +#define CONFIG_BOOTP_GATEWAY
> +#define CONFIG_BOOTP_HOSTNAME
> +
> +/*
> + * Command line configuration.
> + */
> +#include <config_cmd_default.h>
> +#define CONFIG_DP83902A
> +
> +#define CONFIG_CMD_FAT
> +#define CONFIG_CMD_EXT2
> +#undef CONFIG_CMD_LOADB
> +#undef CONFIG_CMD_LOADS
> +#define CONFIG_CMD_DHCP
> +
> +#define CONFIG_DRIVER_NE2000
> +#define CONFIG_DRIVER_NE2000_BASE      0xffffffffb4000300
> +
> +#define CONFIG_SYS_NS16550
> +#define CONFIG_SYS_NS16550_SERIAL
> +#define CONFIG_SYS_NS16550_REG_SIZE    1
> +#define CONFIG_SYS_NS16550_CLK         115200
> +#define CONFIG_SYS_NS16550_COM1                (0xffffffffb40003f8)
> +#define CONFIG_CONS_INDEX              1
> +
> +#define CONFIG_CMD_IDE
> +#define CONFIG_DOS_PARTITION
> +
> +#define CONFIG_SYS_IDE_MAXBUS          2
> +#define CONFIG_SYS_ATA_IDE0_OFFSET     (0x1f0)
> +#define CONFIG_SYS_ATA_IDE1_OFFSET     (0x170)
> +#define CONFIG_SYS_ATA_DATA_OFFSET     (0)
> +#define CONFIG_SYS_ATA_REG_OFFSET      (0)
> +#define CONFIG_SYS_ATA_BASE_ADDR       (0xffffffffb4000000)
> +
> +#define CONFIG_SYS_IDE_MAXDEVICE       (4)
> +
> +#define CONFIG_CMD_RARP
> +
> +/*
> + * Miscellaneous configurable options
> + */
> +#define CONFIG_SYS_LONGHELP            /* undef to save memory */
> +
> +/* Monitor Command Prompt */
> +#if defined(CONFIG_SYS_LITTLE_ENDIAN)
> +#define CONFIG_SYS_PROMPT              "qemu-mips64el # "
> +#else
> +#define CONFIG_SYS_PROMPT              "qemu-mips64 # "
> +#endif
> +
> +#define CONFIG_AUTO_COMPLETE
> +#define CONFIG_CMDLINE_EDITING
> +#define CONFIG_SYS_HUSH_PARSER
> +#define CONFIG_SYS_PROMPT_HUSH_PS2     "> "
> +
> +/* Console I/O Buffer Size */
> +#define CONFIG_SYS_CBSIZE              256
> +/* Print Buffer Size */
> +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
> +/* max number of command args */
> +#define CONFIG_SYS_MAXARGS             16
> +
> +#define CONFIG_SYS_MALLOC_LEN          128*1024
> +
> +#define CONFIG_SYS_BOOTPARAMS_LEN      128*1024
> +
> +#define CONFIG_SYS_MHZ                 132
> +
> +#define CONFIG_SYS_MIPS_TIMER_FREQ     (CONFIG_SYS_MHZ * 1000000)
> +
> +#define CONFIG_SYS_HZ                  1000
> +
> +/* Cached addr */
> +#define CONFIG_SYS_SDRAM_BASE          0xffffffff80000000
> +
> +/* default load address */
> +#define CONFIG_SYS_LOAD_ADDR           0xffffffff81000000
> +
> +#define CONFIG_SYS_MEMTEST_START       0xffffffff80100000
> +#define CONFIG_SYS_MEMTEST_END         0xffffffff80800000
> +
> +/*-----------------------------------------------------------------------
> + * FLASH and environment organization
> + */
> +#define CONFIG_CMD_NO_FLASH
> +#define CONFIG_SYS_NO_FLASH
> +#undef CONFIG_CMD_IMLS
> +
> +/* The following #defines are needed to get flash environment right */
> +#undef CONFIG_SYS_TEXT_BASE
> +#define CONFIG_SYS_TEXT_BASE           0xffffffffbfc00000 /* ROM Version */
> +#define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_TEXT_BASE
> +
> +#define CONFIG_SYS_INIT_SP_OFFSET      0x400000
> +#define CONFIG_ENV_IS_NOWHERE
> +
> +/* Address and size of Primary Environment Sector */
> +#define CONFIG_ENV_SIZE                0x8000
> +
> +#define CONFIG_ENV_OVERWRITE
> +
> +#define MEM_SIZE               128
> +
> +#define CONFIG_LZA
> +
> +/*-----------------------------------------------------------------------
> + * Cache Configuration
> + */
> +#define CONFIG_SYS_DCACHE_SIZE         16384
> +#define CONFIG_SYS_ICACHE_SIZE         16384
> +#define CONFIG_SYS_CACHELINE_SIZE      32
> +
> +#endif /* __CONFIG_H */
> --
> 1.7.9.5
>



-- 
Best regards,
Daniel

  reply	other threads:[~2012-09-04 22:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-04 14:32 [U-Boot] [Patch V5 0/4] add mips64 cpus support Zhizhou Zhang
2012-09-04 14:32 ` [U-Boot] [Patch V5 1/4] MIPS: Don't use camel-case style Zhizhou Zhang
2012-09-04 14:32 ` [U-Boot] [Patch V5 2/4] MIPS: change address related header files Zhizhou Zhang
2012-09-04 22:25   ` Daniel Schwierzeck
2012-09-05 11:40     ` Zhi-zhou Zhang
2012-09-04 14:32 ` [U-Boot] [Patch V5 3/4] MIPS: don't define CONFIG_SYS_TEXT_BASE in config.mk Zhizhou Zhang
2012-09-04 14:32 ` [U-Boot] [Patch V5 4/4] MIPS: add board qemu-mips64 support Zhizhou Zhang
2012-09-04 22:36   ` Daniel Schwierzeck [this message]
2012-09-04 23:12   ` Daniel Schwierzeck
2012-09-05 11:59     ` Zhi-zhou Zhang
2012-09-05 16:48       ` Daniel Schwierzeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CACUy__WaGd3AMPgrsT1Y+p5ZiLV2mM9xAo1auZ7ezTS7XBiqvw@mail.gmail.com \
    --to=daniel.schwierzeck@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.