Merge pull request #12 from sifive/priv-1.10
Merge priv-1.10 support to master
This commit is contained in:
commit
9a44dcdb1e
10
.gitmodules
vendored
10
.gitmodules
vendored
@ -1,12 +1,18 @@
|
|||||||
[submodule "linux"]
|
[submodule "linux"]
|
||||||
path = linux
|
path = linux
|
||||||
url = https://github.com/sifive/riscv-linux.git
|
url = https://github.com/riscv/riscv-linux.git
|
||||||
[submodule "buildroot"]
|
[submodule "buildroot"]
|
||||||
path = buildroot
|
path = buildroot
|
||||||
url = https://github.com/sifive/buildroot.git
|
url = https://github.com/sifive/buildroot.git
|
||||||
[submodule "riscv-pk"]
|
[submodule "riscv-pk"]
|
||||||
path = riscv-pk
|
path = riscv-pk
|
||||||
url = https://github.com/sifive/riscv-pk.git
|
url = https://github.com/riscv/riscv-pk.git
|
||||||
[submodule "riscv-gnu-toolchain"]
|
[submodule "riscv-gnu-toolchain"]
|
||||||
path = riscv-gnu-toolchain
|
path = riscv-gnu-toolchain
|
||||||
url = https://github.com/riscv/riscv-gnu-toolchain.git
|
url = https://github.com/riscv/riscv-gnu-toolchain.git
|
||||||
|
[submodule "riscv-isa-sim"]
|
||||||
|
path = riscv-isa-sim
|
||||||
|
url = https://github.com/riscv/riscv-isa-sim.git
|
||||||
|
[submodule "riscv-fesvr"]
|
||||||
|
path = riscv-fesvr
|
||||||
|
url = https://github.com/riscv/riscv-fesvr.git
|
||||||
|
25
.travis.yml
Normal file
25
.travis.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- autoconf
|
||||||
|
- automake
|
||||||
|
- autotools-dev
|
||||||
|
- bc
|
||||||
|
- bison
|
||||||
|
- build-essential
|
||||||
|
- curl
|
||||||
|
- flex
|
||||||
|
- gawk
|
||||||
|
- gperf
|
||||||
|
- libgmp-dev
|
||||||
|
- libmpc-dev
|
||||||
|
- libmpfr-dev
|
||||||
|
- libtool
|
||||||
|
- patchutils
|
||||||
|
- texinfo
|
||||||
|
before_install:
|
||||||
|
- export MAKEFLAGS="-j3"
|
||||||
|
install: true
|
||||||
|
script:
|
||||||
|
- true
|
||||||
|
# - (make > /dev/null) || (make -j1 && exit 1)
|
48
Makefile
48
Makefile
@ -20,8 +20,6 @@ sysroot := $(wrkdir)/sysroot
|
|||||||
linux_srcdir := $(srcdir)/linux
|
linux_srcdir := $(srcdir)/linux
|
||||||
linux_wrkdir := $(wrkdir)/linux
|
linux_wrkdir := $(wrkdir)/linux
|
||||||
linux_defconfig := $(confdir)/linux_defconfig
|
linux_defconfig := $(confdir)/linux_defconfig
|
||||||
linux_release := linux-4.6.2.tar.xz
|
|
||||||
linux_url := ftp://ftp.kernel.org/pub/linux/kernel/v4.x
|
|
||||||
|
|
||||||
vmlinux := $(linux_wrkdir)/vmlinux
|
vmlinux := $(linux_wrkdir)/vmlinux
|
||||||
vmlinux_stripped := $(linux_wrkdir)/vmlinux-stripped
|
vmlinux_stripped := $(linux_wrkdir)/vmlinux-stripped
|
||||||
@ -32,6 +30,14 @@ bbl := $(pk_wrkdir)/bbl
|
|||||||
bin := $(wrkdir)/bbl.bin
|
bin := $(wrkdir)/bbl.bin
|
||||||
hex := $(wrkdir)/bbl.hex
|
hex := $(wrkdir)/bbl.hex
|
||||||
|
|
||||||
|
fesvr_srcdir := $(srcdir)/riscv-fesvr
|
||||||
|
fesvr_wrkdir := $(wrkdir)/riscv-fesvr
|
||||||
|
libfesvr := $(fesvr_wrkdir)/prefix/lib/libfesvr.so
|
||||||
|
|
||||||
|
spike_srcdir := $(srcdir)/riscv-isa-sim
|
||||||
|
spike_wrkdir := $(wrkdir)/riscv-isa-sim
|
||||||
|
spike := $(spike_wrkdir)/prefix/bin/spike
|
||||||
|
|
||||||
target := riscv64-unknown-linux-gnu
|
target := riscv64-unknown-linux-gnu
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
@ -45,6 +51,7 @@ $(toolchain_dest)/bin/$(target)-gcc: $(toolchain_srcdir)
|
|||||||
mkdir -p $(toolchain_wrkdir)
|
mkdir -p $(toolchain_wrkdir)
|
||||||
cd $(toolchain_wrkdir); $(toolchain_srcdir)/configure --prefix=$(toolchain_dest)
|
cd $(toolchain_wrkdir); $(toolchain_srcdir)/configure --prefix=$(toolchain_dest)
|
||||||
$(MAKE) -C $(toolchain_wrkdir) linux
|
$(MAKE) -C $(toolchain_wrkdir) linux
|
||||||
|
sed 's/^#define LINUX_VERSION_CODE.*/#define LINUX_VERSION_CODE 263682/' -i $(toolchain_dest)/sysroot/usr/include/linux/version.h
|
||||||
|
|
||||||
$(buildroot_tar): $(buildroot_srcdir) $(RISCV)/bin/$(target)-gcc
|
$(buildroot_tar): $(buildroot_srcdir) $(RISCV)/bin/$(target)-gcc
|
||||||
$(MAKE) -C $< RISCV=$(RISCV) PATH=$(PATH) O=$(buildroot_wrkdir) riscv64_defconfig
|
$(MAKE) -C $< RISCV=$(RISCV) PATH=$(PATH) O=$(buildroot_wrkdir) riscv64_defconfig
|
||||||
@ -59,13 +66,9 @@ $(sysroot_stamp): $(buildroot_tar)
|
|||||||
tar -xpf $< -C $(sysroot) --exclude ./dev --exclude ./usr/share/locale
|
tar -xpf $< -C $(sysroot) --exclude ./dev --exclude ./usr/share/locale
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
$(linux_release):
|
$(linux_wrkdir)/.config: $(linux_defconfig) $(linux_srcdir)
|
||||||
curl -O $(linux_url)/$(linux_release)
|
|
||||||
|
|
||||||
$(linux_wrkdir)/.config: $(linux_defconfig) $(linux_srcdir) $(linux_release)
|
|
||||||
mkdir -p $(dir $@)
|
mkdir -p $(dir $@)
|
||||||
cp -p $< $@
|
cp -p $< $@
|
||||||
cd $(linux_srcdir); tar --strip-components=1 -xJf ../$(linux_release); git checkout .gitignore arch/.gitignore
|
|
||||||
$(MAKE) -C $(linux_srcdir) O=$(linux_wrkdir) ARCH=riscv olddefconfig
|
$(MAKE) -C $(linux_srcdir) O=$(linux_wrkdir) ARCH=riscv olddefconfig
|
||||||
|
|
||||||
$(vmlinux): $(linux_srcdir) $(linux_wrkdir)/.config $(sysroot_stamp)
|
$(vmlinux): $(linux_srcdir) $(linux_wrkdir)/.config $(sysroot_stamp)
|
||||||
@ -88,8 +91,10 @@ $(bbl): $(pk_srcdir) $(vmlinux_stripped)
|
|||||||
mkdir -p $(pk_wrkdir)
|
mkdir -p $(pk_wrkdir)
|
||||||
cd $(pk_wrkdir) && $</configure \
|
cd $(pk_wrkdir) && $</configure \
|
||||||
--host=$(target) \
|
--host=$(target) \
|
||||||
--with-payload=$(vmlinux_stripped)
|
--with-payload=$(vmlinux_stripped) \
|
||||||
$(MAKE) -C $(pk_wrkdir)
|
--enable-logo \
|
||||||
|
--with-logo=$(abspath conf/sifive_logo.txt)
|
||||||
|
CFLAGS="-mabi=lp64d -march=rv64imafdc" $(MAKE) -C $(pk_wrkdir)
|
||||||
|
|
||||||
$(bin): $(bbl)
|
$(bin): $(bbl)
|
||||||
$(target)-objcopy -S -O binary --change-addresses -0x80000000 $< $@
|
$(target)-objcopy -S -O binary --change-addresses -0x80000000 $< $@
|
||||||
@ -97,6 +102,27 @@ $(bin): $(bbl)
|
|||||||
$(hex): $(bin)
|
$(hex): $(bin)
|
||||||
xxd -c1 -p $< > $@
|
xxd -c1 -p $< > $@
|
||||||
|
|
||||||
|
$(libfesvr): $(fesvr_srcdir)
|
||||||
|
rm -rf $(fesvr_wrkdir)
|
||||||
|
mkdir -p $(fesvr_wrkdir)
|
||||||
|
mkdir -p $(dir $@)
|
||||||
|
cd $(fesvr_wrkdir) && $</configure \
|
||||||
|
--prefix=$(dir $(abspath $(dir $@)))
|
||||||
|
$(MAKE) -C $(fesvr_wrkdir)
|
||||||
|
$(MAKE) -C $(fesvr_wrkdir) install
|
||||||
|
touch -c $@
|
||||||
|
|
||||||
|
$(spike): $(spike_srcdir) $(libfesvr)
|
||||||
|
rm -rf $(spike_wrkdir)
|
||||||
|
mkdir -p $(spike_wrkdir)
|
||||||
|
mkdir -p $(dir $@)
|
||||||
|
cd $(spike_wrkdir) && $</configure \
|
||||||
|
--prefix=$(dir $(abspath $(dir $@))) \
|
||||||
|
--with-fesvr=$(dir $(abspath $(dir $(libfesvr))))
|
||||||
|
$(MAKE) -C $(spike_wrkdir)
|
||||||
|
$(MAKE) -C $(spike_wrkdir) install
|
||||||
|
touch -c $@
|
||||||
|
|
||||||
.PHONY: sysroot vmlinux bbl
|
.PHONY: sysroot vmlinux bbl
|
||||||
sysroot: $(sysroot)
|
sysroot: $(sysroot)
|
||||||
vmlinux: $(vmlinux)
|
vmlinux: $(vmlinux)
|
||||||
@ -105,3 +131,7 @@ bbl: $(bbl)
|
|||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm -rf -- $(wrkdir) $(toolchain_dest)
|
rm -rf -- $(wrkdir) $(toolchain_dest)
|
||||||
|
|
||||||
|
.PHONY: sim
|
||||||
|
sim: $(spike) $(bbl)
|
||||||
|
$(spike) -p4 $(bbl)
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 0fd471394450a4dfde0f21a7f7abe51be5800a3f
|
Subproject commit 672f627ce0fe9720b4a193fb9bd583518a990882
|
@ -1,3 +1,4 @@
|
|||||||
|
CONFIG_SMP=y
|
||||||
# CONFIG_COMPACTION is not set
|
# CONFIG_COMPACTION is not set
|
||||||
CONFIG_HZ_100=y
|
CONFIG_HZ_100=y
|
||||||
CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-"
|
CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-"
|
||||||
@ -37,7 +38,7 @@ CONFIG_DEVTMPFS_MOUNT=y
|
|||||||
# CONFIG_HWMON is not set
|
# CONFIG_HWMON is not set
|
||||||
# CONFIG_USB_SUPPORT is not set
|
# CONFIG_USB_SUPPORT is not set
|
||||||
# CONFIG_IOMMU_SUPPORT is not set
|
# CONFIG_IOMMU_SUPPORT is not set
|
||||||
CONFIG_EXT2_FS=y
|
CONFIG_EXT3_FS=y
|
||||||
# CONFIG_FILE_LOCKING is not set
|
# CONFIG_FILE_LOCKING is not set
|
||||||
# CONFIG_DNOTIFY is not set
|
# CONFIG_DNOTIFY is not set
|
||||||
# CONFIG_INOTIFY_USER is not set
|
# CONFIG_INOTIFY_USER is not set
|
||||||
@ -52,6 +53,7 @@ CONFIG_DEBUG_SECTION_MISMATCH=y
|
|||||||
CONFIG_CMDLINE_BOOL=y
|
CONFIG_CMDLINE_BOOL=y
|
||||||
CONFIG_CMDLINE="earlyprintk"
|
CONFIG_CMDLINE="earlyprintk"
|
||||||
CONFIG_FRAME_POINTER=y
|
CONFIG_FRAME_POINTER=y
|
||||||
|
CONFIG_STACKTRACE=y
|
||||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||||
# CONFIG_CRYPTO_HW is not set
|
# CONFIG_CRYPTO_HW is not set
|
||||||
CONFIG_PCI=y
|
CONFIG_PCI=y
|
||||||
@ -69,7 +71,7 @@ CONFIG_NET_CORE=y
|
|||||||
CONFIG_ETHERNET=y
|
CONFIG_ETHERNET=y
|
||||||
CONFIG_NET_VENDOR_INTEL=y
|
CONFIG_NET_VENDOR_INTEL=y
|
||||||
CONFIG_E1000E=y
|
CONFIG_E1000E=y
|
||||||
CONFIG_PCIE_XILINX_RV=y
|
CONFIG_PCIE_XILINX=y
|
||||||
CONFIG_R8169=y
|
CONFIG_R8169=y
|
||||||
CONFIG_SCSI=y
|
CONFIG_SCSI=y
|
||||||
CONFIG_SCSI_DMA=y
|
CONFIG_SCSI_DMA=y
|
||||||
|
File diff suppressed because it is too large
Load Diff
26
conf/sifive_logo.txt
Normal file
26
conf/sifive_logo.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
SIFIVE, INC.
|
||||||
|
|
||||||
|
5555555555555555555555555
|
||||||
|
5555 5555
|
||||||
|
5555 5555
|
||||||
|
5555 5555
|
||||||
|
5555 5555555555555555555555
|
||||||
|
5555 555555555555555555555555
|
||||||
|
5555 5555
|
||||||
|
5555 5555
|
||||||
|
5555 5555
|
||||||
|
5555555555555555555555555555 55555
|
||||||
|
55555 555555555 55555
|
||||||
|
55555 55555 55555
|
||||||
|
55555 5 55555
|
||||||
|
55555 55555
|
||||||
|
55555 55555
|
||||||
|
55555 55555
|
||||||
|
55555 55555
|
||||||
|
55555 55555
|
||||||
|
555555555
|
||||||
|
55555
|
||||||
|
5
|
||||||
|
|
||||||
|
SiFive RISC-V Coreplex
|
2
linux
2
linux
@ -1 +1 @@
|
|||||||
Subproject commit 1bbe5704f17d4923bf9e414f02ee5326350e1fc5
|
Subproject commit 160fa8470d0f78b1571c04da8b9af50ac05be378
|
1
riscv-fesvr
Submodule
1
riscv-fesvr
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit f683e01542acf60e50774d061bcb396b628e3e67
|
@ -1 +1 @@
|
|||||||
Subproject commit 72ea34e9dc40cdab33d79789e410a9bc295911f6
|
Subproject commit b4dae89f85bf882852c6186b1284df11065bfcd9
|
1
riscv-isa-sim
Submodule
1
riscv-isa-sim
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 092b464c06d2eba580b95a3ac7013449cb2687e4
|
2
riscv-pk
2
riscv-pk
@ -1 +1 @@
|
|||||||
Subproject commit 423f0b6c3b2f0360a5ceebfae5ee75c61ba7b6ee
|
Subproject commit 57740d97cdec928c372d8e752c04a691418cbfa1
|
Loading…
Reference in New Issue
Block a user