Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
       [not found] <6AC4EFD4-AA30-42C7-855A-CE68A62F107F@gatech.edu>
@ 2020-03-15  3:17 ` Jacob Lifshay
  2020-03-15  4:00   ` Luke Kenneth Casson Leighton
  2020-03-15  5:10   ` [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility Hendrik Boom
  0 siblings, 2 replies; 40+ messages in thread
From: Jacob Lifshay @ 2020-03-15  3:17 UTC (permalink / raw)
  To: Immanuel, Yehowshua U; +Cc: Libre-RISCV General Development

On Sat, Mar 14, 2020, 18:01 Immanuel, Yehowshua U <yimmanuel3@gatech.edu>
wrote:

> Hello Jacob,
>         I’m running through the numbers and studying LibreSOC’s potential
> markets, and how we’d market the dual architecture.
> Just how feasible is the dual architecture we’re currently embarking on.
> Luke says its doable.
> What are your thoughts, and what are the challenges - just trying to get a
> comprehensive understanding.
>

It will be quite easy to do from the hardware side due to the relative
simplicity of user-mode RV64GC -- basically all we need is to do is
implement the instruction decoder and clean up the odds and ends that
result from the semantic differences.

The software side will be a little harder but still relatively easy, we
need to implement support for translating Linux system calls from the
RISC-V interface to the internal calls, as well as implementing the
syscalls for switching modes between ISAs -- that's like 80% of the work on
the Linux Kernel side. For userspace, we can have just executing RISC-V ELF
executables as a MVP, later, we can implement the stuff in the dynamic
linker to handle having both Power and RV code loaded in the same process
-- I'm thinking we should use a system similar to Wine and Darling (like
Wine but macOS on Linux) where they have two dynamic linkers in the same
process. Will have to figure that out.

We can also build a bare-metal hypervisor-like program to emulate RV system
mode to allow easier testing (don't need to boot a whole Linux kernel) as
well as booting a whole RISC-V OS. I'd estimate that it would be less than
10kloc of code.

Jacob
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  3:17 ` [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility Jacob Lifshay
@ 2020-03-15  4:00   ` Luke Kenneth Casson Leighton
  2020-03-15  7:59     ` Jacob Lifshay
  2020-03-15  5:10   ` [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility Hendrik Boom
  1 sibling, 1 reply; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15  4:00 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 3:17 AM Jacob Lifshay <programmerjake@gmail.com> wrote:
>
> On Sat, Mar 14, 2020, 18:01 Immanuel, Yehowshua U <yimmanuel3@gatech.edu>
> wrote:
>
> > Hello Jacob,
> >         I’m running through the numbers and studying LibreSOC’s potential
> > markets, and how we’d market the dual architecture.
> > Just how feasible is the dual architecture we’re currently embarking on.
> > Luke says its doable.
> > What are your thoughts, and what are the challenges - just trying to get a
> > comprehensive understanding.
> >
>
> It will be quite easy to do from the hardware side due to the relative
> simplicity of user-mode RV64GC -- basically all we need is to do is
> implement the instruction decoder and clean up the odds and ends that
> result from the semantic differences.

pretty much.  the RV64GC decoder would map onto the exact same
internal operations (the ones that anton blanchard started), and we
would expand those as necessary.

however that's not the main problem

we actually have a serious "bootstrap" problem in terms of implementing POWER.

here's how it works with RISC-V:

* take spike, and add SimpleV (done - took 2-3 months appx)
* take riscv-isa-tests, and add SimpleV unit tests (done - took about 1 month)
* implement a core in hardware by taking an existing core and adding
in our engine.
* run the EXACT SAME BARE METAL UNIT TESTS.

hardware is bootstrapped.  it's done in an incremental fashion, *one*
unknown at a time.

now let's look at POWER.

1) where are the unit tests?
2) where is the simulator?
3) where is the port of softfloat-3 that supports POWER IEEE754 format?

and on top of this *NON-EXISTENT* (or barely adequate) code, we want
to add a vectorisation system, *and then implement it in hardware*?

that's a minimum of *five* extremely large unknowns.

we therefore have two potential approaches (which we may have to do in
parallel):

1) getting a power isa cycle-accurate simulator plus unit tests is
absolutely essential.

2) getting the core working by bootstrapping up in only *one* unknown
at a time, and that means RISC-V.

as (1) is a software-only effort, we can continue with (2) to keep
hardware-people busy and occupied.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  3:17 ` [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility Jacob Lifshay
  2020-03-15  4:00   ` Luke Kenneth Casson Leighton
@ 2020-03-15  5:10   ` Hendrik Boom
  2020-03-15  6:13     ` Jacob Lifshay
  1 sibling, 1 reply; 40+ messages in thread
From: Hendrik Boom @ 2020-03-15  5:10 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sat, Mar 14, 2020 at 08:17:07PM -0700, Jacob Lifshay wrote:
> On Sat, Mar 14, 2020, 18:01 Immanuel, Yehowshua U <yimmanuel3@gatech.edu>
> wrote:
> 
> > Hello Jacob,
> >         I’m running through the numbers and studying LibreSOC’s potential
> > markets, and how we’d market the dual architecture.
> > Just how feasible is the dual architecture we’re currently embarking on.
> > Luke says its doable.
> > What are your thoughts, and what are the challenges - just trying to get a
> > comprehensive understanding.
> >
> 
> It will be quite easy to do from the hardware side due to the relative
> simplicity of user-mode RV64GC -- basically all we need is to do is
> implement the instruction decoder and clean up the odds and ends that
> result from the semantic differences.
> 
> The software side will be a little harder but still relatively easy, we
> need to implement support for translating Linux system calls from the
> RISC-V interface to the internal calls, as well as implementing the
> syscalls for switching modes between ISAs -- that's like 80% of the work on
> the Linux Kernel side. For userspace, we can have just executing RISC-V ELF
> executables as a MVP, later, we can implement the stuff in the dynamic
> linker to handle having both Power and RV code loaded in the same process
> -- I'm thinking we should use a system similar to Wine and Darling (like
> Wine but macOS on Linux) where they have two dynamic linkers in the same
> process. Will have to figure that out.

Is the multiarch feature of Linux of any use here?  I think it 
allows a choice of architecture for each *process*.  So we'd 
just have to have two sets of libraries.  We wouldn't have to link 
any code that contains both architectures.

Architecture switch would happen at system call and at process 
switch.

-- hendrik 
> 
> We can also build a bare-metal hypervisor-like program to emulate RV system
> mode to allow easier testing (don't need to boot a whole Linux kernel) as
> well as booting a whole RISC-V OS. I'd estimate that it would be less than
> 10kloc of code.
> 
> Jacob
> _______________________________________________
> libre-riscv-dev mailing list
> libre-riscv-dev@lists.libre-riscv.org
> http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  5:10   ` [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility Hendrik Boom
@ 2020-03-15  6:13     ` Jacob Lifshay
  2020-03-15  7:18       ` Immanuel, Yehowshua U
  2020-03-15 16:57       ` Hendrik Boom
  0 siblings, 2 replies; 40+ messages in thread
From: Jacob Lifshay @ 2020-03-15  6:13 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sat, Mar 14, 2020, 22:10 Hendrik Boom <hendrik@topoi.pooq.com> wrote:

> On Sat, Mar 14, 2020 at 08:17:07PM -0700, Jacob Lifshay wrote:
> > The software side will be a little harder but still relatively easy, we
> > need to implement support for translating Linux system calls from the
> > RISC-V interface to the internal calls, as well as implementing the
> > syscalls for switching modes between ISAs -- that's like 80% of the work
> on
> > the Linux Kernel side. For userspace, we can have just executing RISC-V
> ELF
> > executables as a MVP, later, we can implement the stuff in the dynamic
> > linker to handle having both Power and RV code loaded in the same process
> > -- I'm thinking we should use a system similar to Wine and Darling (like
> > Wine but macOS on Linux) where they have two dynamic linkers in the same
> > process. Will have to figure that out.
>
> Is the multiarch feature of Linux of any use here?


I don't think so, since it would allow switching between ppc64le and
ppc32le (or some other 32-bit variant of Power).

  I think it
> allows a choice of architecture for each *process*.  So we'd
> just have to have two sets of libraries.  We wouldn't have to link
> any code that contains both architectures.
>

We can do that just fine, however, since all our custom extensions are only
in the Power side, RISC-V programs wouldn't be able to use the custom
extensions so that means Vulkan (and our other user-space drivers) would be
very slow or not run at all.

Therefore, we should build ISA to ISA interfaces to allow a RISC-V function
to call and be called by a Power function -- my current plan is to have the
program make a syscall to switch between ISAs.

maybe have syscalls something like:

// Power side
void call_riscv_from_power(void (*riscv_function)(void *), void *arg);

// RISC-V side
void call_power_from_riscv(void (*power_function)(void *), void *arg);

We would still have to worry about the differences between RISC-V and Power
ABIs such as memory layouts and handling stack unwinding and backtraces.

The current plan is for Kernel-mode to be entirely Power and it can switch
to RV when switching to user mode as well as any interrupt, exception, or
syscall will switch to Power mode and run the appropriate Kernel code.

Jacob
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  6:13     ` Jacob Lifshay
@ 2020-03-15  7:18       ` Immanuel, Yehowshua U
  2020-03-15 11:20         ` Luke Kenneth Casson Leighton
  2020-03-15 16:57       ` Hendrik Boom
  1 sibling, 1 reply; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15  7:18 UTC (permalink / raw)
  To: Libre-RISCV General Development

> * take spike, and add SimpleV (done - took 2-3 months appx)
> * take riscv-isa-tests, and add SimpleV unit tests (done - took about 1 month)
> * implement a core in hardware by taking an existing core and adding
> in our engine.
> * run the EXACT SAME BARE METAL UNIT TESTS.
> 
> hardware is bootstrapped.  it's done in an incremental fashion, *one*
> unknown at a time.
> 
> now let's look at POWER.
> 
> 1) where are the unit tests?
> 2) where is the simulator?
> 3) where is the port of softfloat-3 that supports POWER IEEE754 format?

So what I’m hearing is that spike combined with risk-isa-tests has sped up the development process.

Now, we just need a way to map POWER onto Simple-V?
How does the decoded Michael is working on fit in?

Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  4:00   ` Luke Kenneth Casson Leighton
@ 2020-03-15  7:59     ` Jacob Lifshay
  2020-03-15 11:22       ` Luke Kenneth Casson Leighton
  0 siblings, 1 reply; 40+ messages in thread
From: Jacob Lifshay @ 2020-03-15  7:59 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sat, Mar 14, 2020, 21:01 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
wrote:

> 3) where is the port of softfloat-3 that supports POWER IEEE754 format?
>

You can use simple-soft-float which is (modulo possible bugs) entirely
correct for Power except that it might propagate NaN payloads incorrectly
since NaN payload propagation is only partially implemented and that it
needs to have the additional 20-30 lines of trivial code added to record
the cause for generating a NaN (because Power has more than the standard
list of FP exception conditions).

To operate on the Power f32-in-f64 format all you need to do is convert all
inputs to f32 (check manual for exact operation), do the operation in f32
format, then convert back to f64 (conversion is lossless).

Additional benefits include: not needing compile-time flag changes to
switch between Power and RISC-V modes (everything is dynamically
adjustable).

The code is written on top of the algebraic numbers library I wrote (gives
us a type that behaves like an infinite-precision real number) and in a
straight-forward manner (no fancy math to make it faster), hopefully making
the internal algorithms easier to prove correct (assuming the algebraics
library gives the correct answer).

There are tested Python bindings.

I did test it against softfloat3 for RISC-V, all tests pass.

source:
https://salsa.debian.org/Kazan-team/simple-soft-float

autogenerated Rust docs:
https://docs.rs/simple-soft-float/0.1.0/simple_soft_float/

Jacob

>
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  7:18       ` Immanuel, Yehowshua U
@ 2020-03-15 11:20         ` Luke Kenneth Casson Leighton
  2020-03-15 18:19           ` Immanuel, Yehowshua U
  0 siblings, 1 reply; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 11:20 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:19 AM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:

> > 1) where are the unit tests?
> > 2) where is the simulator?
> > 3) where is the port of softfloat-3 that supports POWER IEEE754 format?
>
> So what I’m hearing is that spike combined with risk-isa-tests has sped up the development process.

massively - and provided us with a way to test it, so that when it
comes to implementing it in hardware, the *hardware* can be verified
immediately.

bear in mind that the full hardware will run (in nmigen simulation
form) at *seconds* per cycle.  compiling with iverilog will be better
but nothing like an FPGA.

each level of additional complexity and time for compilation means yet
more delay in finishing... and not having unit tests actually means
*we can't declare it finished*.

> Now, we just need a way to map POWER onto Simple-V?

not quite.

1) first we need a suitable POWER simulator.  it needs to be 64-bit,
LE and BE capable, with a full MMU, and capable of running bare-metal
tests as well as a full GNU/Linux 64-bit OS (even if that's in-memory,
like spike)
2) we then need a full set of bare-metal unit tests
3) *then* we add SImple-V to POWER at the *specification* level
4) *then* we implement Simple-V in the POWER simulator
5) *then* we implement bare metal unit tests capable of running in the
POWER simulator
6) *then* we implement POWER in hardware
7) *then* we run the unit tests from step 2 under the hardware
8) *then* we add SimpleV to POWER in hardware
9) *then* we run the unit tests from step 5 under the hardware

it's a hell of a lot of work - a lot more than with RISC-V.  with
RISC-V the fact that spike and the unit tests exist *and work* is a
massive, massive head-start, where not only do we not have to do the
research to get that working, we can use it by examining even the
source code of the simulator to actually see what's going on [spike
actually implements RISC-V UNIX Platform TLBs, and throws full and
correct page-fault exceptions].


> How does the decoder Michael is working on fit in?

it's a decoder.  if you don't have it, you can't decode POWER
instructions.  it's an essential part.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  7:59     ` Jacob Lifshay
@ 2020-03-15 11:22       ` Luke Kenneth Casson Leighton
  2020-03-15 12:09         ` [libre-riscv-dev] pearpc simulator running Luke Kenneth Casson Leighton
  0 siblings, 1 reply; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 11:22 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:59 AM Jacob Lifshay <programmerjake@gmail.com> wrote:
>
> On Sat, Mar 14, 2020, 21:01 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
> wrote:
>
> > 3) where is the port of softfloat-3 that supports POWER IEEE754 format?
> >
>
> You can use simple-soft-float which is (modulo possible bugs) entirely
> correct for Power except that it might propagate NaN payloads incorrectly
> since NaN payload propagation is only partially implemented and that it
> needs to have the additional 20-30 lines of trivial code added to record
> the cause for generating a NaN (because Power has more than the standard
> list of FP exception conditions).

yes.  could you add that?  it's important.  if you need a POWERPC
64-bit system to log in to in order to check that they're correct (by
doing "real" FP on a "real" POWER9 system) i can ask around.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* [libre-riscv-dev] pearpc simulator running
  2020-03-15 11:22       ` Luke Kenneth Casson Leighton
@ 2020-03-15 12:09         ` Luke Kenneth Casson Leighton
  0 siblings, 0 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 12:09 UTC (permalink / raw)
  To: Libre-RISCV General Development

i've just managed to get pearpc running (clang, ./configure
--enable-cpu=generic), and it "boots" the Mandrake-9 PPC 32 (BE)
installation ISO perfectly well.

reading up, historically, it could not boot linux 2.6 kernels (only 2.4).

qemu:
https://wiki.qemu.org/Documentation/Platforms/POWER

that looks... relevant to running kvm, very much less relevant to a
cycle-accurate simulator *however*, we *may* be able to pick up tips
on how to implement an MMU (and a 64-bit UNIX TLB).

there's a set of buildroot configs for ppc 32-bit and 64-bit:
https://github.com/maximeh/buildroot/tree/master/board/qemu/

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15  6:13     ` Jacob Lifshay
  2020-03-15  7:18       ` Immanuel, Yehowshua U
@ 2020-03-15 16:57       ` Hendrik Boom
  1 sibling, 0 replies; 40+ messages in thread
From: Hendrik Boom @ 2020-03-15 16:57 UTC (permalink / raw)
  To: libre-riscv-dev

On Sat, Mar 14, 2020 at 11:13:23PM -0700, Jacob Lifshay wrote:
> On Sat, Mar 14, 2020, 22:10 Hendrik Boom <hendrik@topoi.pooq.com> wrote:
> 
> > On Sat, Mar 14, 2020 at 08:17:07PM -0700, Jacob Lifshay wrote:
> > > The software side will be a little harder but still relatively easy, we
> > > need to implement support for translating Linux system calls from the
> > > RISC-V interface to the internal calls, as well as implementing the
> > > syscalls for switching modes between ISAs -- that's like 80% of the work
> > on
> > > the Linux Kernel side. For userspace, we can have just executing RISC-V
> > ELF
> > > executables as a MVP, later, we can implement the stuff in the dynamic
> > > linker to handle having both Power and RV code loaded in the same process
> > > -- I'm thinking we should use a system similar to Wine and Darling (like
> > > Wine but macOS on Linux) where they have two dynamic linkers in the same
> > > process. Will have to figure that out.
> >
> > Is the multiarch feature of Linux of any use here?
> 
> 
> I don't think so, since it would allow switching between ppc64le and
> ppc32le (or some other 32-bit variant of Power).
> 
>   I think it
> > allows a choice of architecture for each *process*.  So we'd
> > just have to have two sets of libraries.  We wouldn't have to link
> > any code that contains both architectures.
> >

> 
> We can do that just fine, however, since all our custom extensions are only
> in the Power side, RISC-V programs wouldn't be able to use the custom
> extensions so that means Vulkan (and our other user-space drivers) would be
> very slow or not run at all.

Whatever is done initially, it looks like openGL shaders will 
eventually run on the Power side, no matter which side the openGL 
program runs in. 

For RISC-V openGL programs, this looks rather like the present-day 
situation, where the graphics processor has its own machine code.

For Power openGL programs, this separation is unnecessary.

-- hendrik

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 11:20         ` Luke Kenneth Casson Leighton
@ 2020-03-15 18:19           ` Immanuel, Yehowshua U
  2020-03-15 18:21             ` Immanuel, Yehowshua U
  2020-03-15 19:07             ` Luke Kenneth Casson Leighton
  0 siblings, 2 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 18:19 UTC (permalink / raw)
  To: Libre-RISCV General Development

> massively - and provided us with a way to test it, so that when it
> comes to implementing it in hardware, the *hardware* can be verified
> immediately.

So it sounds like the only benefit of RISCV was the RISCV spike emulator which allowed us to test our SimpleV proposal.

I’m still not clear how keeping RISCV compatibility helps us?

It seems to me like excuses to keep RISCV around than an actual need to continue with it.

Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 18:19           ` Immanuel, Yehowshua U
@ 2020-03-15 18:21             ` Immanuel, Yehowshua U
  2020-03-15 18:26               ` Immanuel, Yehowshua U
  2020-03-15 19:11               ` Luke Kenneth Casson Leighton
  2020-03-15 19:07             ` Luke Kenneth Casson Leighton
  1 sibling, 2 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 18:21 UTC (permalink / raw)
  To: Libre-RISCV General Development

> I’m still not clear how keeping RISCV compatibility helps us?
> It seems to me like excuses to keep RISCV around than an actual need to continue with it.

Unless we’re breaking down POWER instructions into RISCV operations internally - which DOES make sense to me.

Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 18:21             ` Immanuel, Yehowshua U
@ 2020-03-15 18:26               ` Immanuel, Yehowshua U
  2020-03-15 19:11               ` Luke Kenneth Casson Leighton
  1 sibling, 0 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 18:26 UTC (permalink / raw)
  To: Libre-RISCV General Development

Although, even if we have POWER -> RISCV uOPS, we still don’t need RISCV64 compatibility.

Its just unnecessary from a customer standpoint and extra labor - I’m still not seeing the benefit.

For a MVP, we should do the minimum - which at this point, seems to be just POWER.

If its a matter of original NLNET proposals, its probably easier to request permission for changes in architectural promises than trying to deliver everything(I’m sure NLNET know that unforeseen obstacles can and will pop up)…

Yehowshua

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 18:19           ` Immanuel, Yehowshua U
  2020-03-15 18:21             ` Immanuel, Yehowshua U
@ 2020-03-15 19:07             ` Luke Kenneth Casson Leighton
  1 sibling, 0 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:07 UTC (permalink / raw)
  To: Libre-RISCV General Development

---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

On Sun, Mar 15, 2020 at 6:20 PM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:
>
> > massively - and provided us with a way to test it, so that when it
> > comes to implementing it in hardware, the *hardware* can be verified
> > immediately.
>
> So it sounds like the only benefit of RISCV was the RISCV spike emulator which allowed us to test our SimpleV proposal.

it was much more than that: the formal testing, the emulation, the
bootloading, the buildroot - replicating all of these is almost a
YEAR's work.

we're doing silicon *in october*... with *no working powerpc software
simulator* let alone working hardware.

again, to emphasise: we *need* to do an "incremental approach".  not
having the pieces of the puzzle to be able to leapfrog from stone to
stone in small increments means that we are dead in the water until
those pieces are in place.


> I’m still not clear how keeping RISCV compatibility helps us?

we made a promise to our backers (including at least one sponsor who
is donating USD 500 a month).

> It seems to me like excuses to keep RISCV around than an actual need to continue with it.

on one hand we have financial backers on whom we depend.

on the other: if we bootstrap our way up the "ladder" by way of RISC-V
*FIRST*, we can "cross bootstrap" to POWER in SIDEWAYS small
increments.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 18:21             ` Immanuel, Yehowshua U
  2020-03-15 18:26               ` Immanuel, Yehowshua U
@ 2020-03-15 19:11               ` Luke Kenneth Casson Leighton
  2020-03-15 19:16                 ` Immanuel, Yehowshua U
  1 sibling, 1 reply; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:11 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 6:21 PM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:
>
> > I’m still not clear how keeping RISCV compatibility helps us?
> > It seems to me like excuses to keep RISCV around than an actual need to continue with it.
>
> Unless we’re breaking down POWER instructions into RISCV operations internally - which DOES make sense to me.

no it doesn't, at all.  here's the ISA tables:
https://libre-riscv.org/openpower/isatables/

those are an *internal* format (each row).

mapping to that exact same internal format by creating a RISC-V
decoder is a matter of about... 3 to 4 days work.

converting RISC-V to POWER ISA by way of a *DIRECT* conversion is an
extremely complex task, one which would normally only be considered in
software.  look at how many lines of code there are in say qemu JIT
translation and it tells you what you need to know.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:11               ` Luke Kenneth Casson Leighton
@ 2020-03-15 19:16                 ` Immanuel, Yehowshua U
  2020-03-15 19:20                   ` Immanuel, Yehowshua U
  2020-03-15 19:23                   ` Luke Kenneth Casson Leighton
  0 siblings, 2 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 19:16 UTC (permalink / raw)
  To: Libre-RISCV General Development

> no it doesn't, at all.  here's the ISA tables:
> https://libre-riscv.org/openpower/isatables/

So RISCV is ONLY in software at this point - that is no RISCV on the actual hardware?

And I know I seem a little pushy - but I have to be able to justify RISCV support upfront.
To put it differently, if you can convince me of the value of retaining RISCV, then you can convince anyone.

Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:16                 ` Immanuel, Yehowshua U
@ 2020-03-15 19:20                   ` Immanuel, Yehowshua U
  2020-03-15 19:24                     ` Luke Kenneth Casson Leighton
  2020-03-15 19:23                   ` Luke Kenneth Casson Leighton
  1 sibling, 1 reply; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 19:20 UTC (permalink / raw)
  To: Libre-RISCV General Development

Or, is the internal format some sort of intermediate that both RISCV and POWER instructions map down to?

Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:16                 ` Immanuel, Yehowshua U
  2020-03-15 19:20                   ` Immanuel, Yehowshua U
@ 2020-03-15 19:23                   ` Luke Kenneth Casson Leighton
  2020-03-15 19:32                     ` Immanuel, Yehowshua U
  2020-03-15 19:37                     ` Immanuel, Yehowshua U
  1 sibling, 2 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:23 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:17 PM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:

> > no it doesn't, at all.  here's the ISA tables:
> > https://libre-riscv.org/openpower/isatables/
>
> So RISCV is ONLY in software at this point - that is no RISCV on the actual hardware?

i've added this source code - wholesale - into the soc repo:
https://github.com/lambdaconcept/minerva

> And I know I seem a little pushy - but I have to be able to justify RISCV support upfront.
> To put it differently, if you can convince me of the value of retaining RISCV, then you can convince anyone.

i spent five months on adding SimpleV to spike.

*we do not have a working simulator for powerpc let alone have one
that has SV added to*

simple math.

estimated time to develop RISC-V SV hardware: about 4 man-months

estimate time to develop POWER SV hardware: at least ONE MAN-YEAR
because we DO NOT HAVE A SIMULATOR.

it's real simple.

if however we get USD $10m funding it's not an issue because we can
find a ton of people.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:20                   ` Immanuel, Yehowshua U
@ 2020-03-15 19:24                     ` Luke Kenneth Casson Leighton
  2020-03-15 19:25                       ` Luke Kenneth Casson Leighton
  0 siblings, 1 reply; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:24 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:20 PM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:
>
> Or, is the internal format some sort of intermediate that both RISCV and POWER instructions map down to?

yeees.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:24                     ` Luke Kenneth Casson Leighton
@ 2020-03-15 19:25                       ` Luke Kenneth Casson Leighton
  0 siblings, 0 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:25 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:24 PM Luke Kenneth Casson Leighton
<lkcl@lkcl.net> wrote:
>
> On Sun, Mar 15, 2020 at 7:20 PM Immanuel, Yehowshua U
> <yimmanuel3@gatech.edu> wrote:
> >
> > Or, is the internal format some sort of intermediate that both RISCV and POWER instructions map down to?
>
> yeees.

now you've got it.

and that internal format is trivial.  single-bit wires.

to do a 32-bit to 32-bit translator is a MASSIVE piece of silicon that
has to preserve every nuance of the instructions...

oh... err... and once it's translated to POWER, it has to go through
*another* translation process, to be decoded into the internal format?

errr no.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:23                   ` Luke Kenneth Casson Leighton
@ 2020-03-15 19:32                     ` Immanuel, Yehowshua U
  2020-03-15 19:43                       ` Jacob Lifshay
  2020-03-15 19:51                       ` Luke Kenneth Casson Leighton
  2020-03-15 19:37                     ` Immanuel, Yehowshua U
  1 sibling, 2 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 19:32 UTC (permalink / raw)
  To: Libre-RISCV General Development

OK.

So to sum up - we have limited funding currently, and we want to have something to show hopefully by October - progress on RISCV is already well underway.

Lets make this prominent on the website - that we’re currently doing Dual ISAs.

Once we do get a lot of more funding, I would eventually like to move to only supporting one architecture which seems to be POWER right now. I say this because I believe supporting DUAL ISA down the road will cause more headaches than its worth. Not that it isn’t possible, but its notably non-trivial and adds little value to most customers.

We can explain this to our backers - people can be flexible - especially over a cup of tea.

However for right now, the risk minimizing move (if I understand everything correctly) is to maintain the position of supporting both ISA with incremental additions of POWER.

Who knows, I could be wrong. Maybe people really would find a use for dual ISAs - but up front, to investor for example, and to me, it looks unnecessary.

What are your thoughts on this?

Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:23                   ` Luke Kenneth Casson Leighton
  2020-03-15 19:32                     ` Immanuel, Yehowshua U
@ 2020-03-15 19:37                     ` Immanuel, Yehowshua U
  1 sibling, 0 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 19:37 UTC (permalink / raw)
  To: Libre-RISCV General Development

> i've added this source code - wholesale - into the soc repo:
> https://github.com/lambdaconcept/minerva

Note, I’ve spoken to Jean Francois Nguyen, the developer of Minerva.
He said that he can’t guarantee the pipeline dependencies are correctly implmented and
has done little to no formal verification on Minerva.

He said Minerva was just more of a proof of concept for nMigen.

So please keep that in mind.

@Luke, what did you want to use Minerva for?

On the other hand, VexRISCV is pretty well tested - although its in Chisel…
Maybe someone would care to translate it to nMigen.

Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:32                     ` Immanuel, Yehowshua U
@ 2020-03-15 19:43                       ` Jacob Lifshay
  2020-03-15 19:52                         ` Immanuel, Yehowshua U
                                           ` (2 more replies)
  2020-03-15 19:51                       ` Luke Kenneth Casson Leighton
  1 sibling, 3 replies; 40+ messages in thread
From: Jacob Lifshay @ 2020-03-15 19:43 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020, 12:33 Immanuel, Yehowshua U <yimmanuel3@gatech.edu>
wrote:

> Who knows, I could be wrong. Maybe people really would find a use for dual
> ISAs - but up front, to investor for example, and to me, it looks
> unnecessary.


In my opinion, dual ISAs is a significant advantage that basically no one
else has, since it allows us to run both Power and RISC-V software at full
speed, it's also useful for on a test server where people need to test both
Power and RISC-V software (where QEMU isn't good enough).

Later (for Libre-SOC v2 or v3), it might be a good idea to add support for
x86 and x86_64 user-mode since the patents for the base ISA will have
expired by then. This would help give us an advantage since it would allow
us to run legacy software.

Jacob
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:32                     ` Immanuel, Yehowshua U
  2020-03-15 19:43                       ` Jacob Lifshay
@ 2020-03-15 19:51                       ` Luke Kenneth Casson Leighton
  1 sibling, 0 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:51 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:33 PM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:
>
> OK.
>
> So to sum up - we have limited funding currently, and we want to have
> something to show hopefully by October -

we're *going* to meet the tapeout deadline in October.  exactly what
with will be cut - in a draconian and clinical fashion - to *make*
that goal achievable.

> progress on RISCV is already well underway.

was.

*was* underway, until the RISC-V Foundation fucked us over, yes.


> Lets make this prominent on the website - that we’re currently doing Dual ISAs.
>
> Once we do get a lot of more funding, I would eventually like to move to only supporting one architecture which seems to be POWER right now. I say this because I believe supporting DUAL ISA down the road will cause more headaches than its worth.

well, once it's done it's done.

> Not that it isn’t possible, but its notably non-trivial and adds little value to most customers.

honestly i think you're right.  if we were doing ARM or x86 Dual ISA,
i'd say it had "real value".

> We can explain this to our backers - people can be flexible - especially over a cup of tea.
>
> However for right now, the risk minimizing move (if I understand everything correctly) is to maintain the position of supporting both ISA with incremental additions of POWER.

basically, so as not to be critically dependent on investment.

one of the biggest mistakes that any entrepreneurial team can make is
to make plans that ASSUME - as a critical dependency - the "existence
of VC funding".


> Who knows, I could be wrong. Maybe people really would find a use for dual ISAs - but up front, to investor for example, and to me, it looks unnecessary.

if an investor drop USD $10m onto the project, tomorrow, RISC-V goes.

if they *don't*, then we carry on with the plan that we have, and that
*most likely* means an incremental bootstrap process by way of RV32
(Minerva), RV64, RV64GC *and then* POWER *and then* SimpleV

why?

each of those is a *SMALL* incremental step.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:43                       ` Jacob Lifshay
@ 2020-03-15 19:52                         ` Immanuel, Yehowshua U
  2020-03-15 19:57                           ` Luke Kenneth Casson Leighton
  2020-03-15 22:04                           ` Staf Verhaegen
  2020-03-15 19:56                         ` Luke Kenneth Casson Leighton
  2020-03-16  7:14                         ` Lauri Kasanen
  2 siblings, 2 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 19:52 UTC (permalink / raw)
  To: Libre-RISCV General Development

> Later (for Libre-SOC v2 or v3), it might be a good idea to add support for
> x86 and x86_64 user-mode since the patents for the base ISA will have
> expired by then. This would help give us an advantage since it would allow
> us to run legacy software.

Isn’t x86 kinda big - like a 1000+ instructions? How would this impact our power target…

But other than that, I’m all for adding x86 support.

But yeah, the main thought in my head for sticking with a single ISA is power consumption.

Also, we should develop our codebase such that we can easily generate RTL that can target RISCV or POWER…

Like ``python3 builds.py —target RISCV64`` for example.

In other words, we should be able to parametrize by architecture:
or perhaps:

``python3 builds.py —target RISCV64+POWER``

This seems like a good feature and will probably encourage sustainable programming practices.


Yehowshua
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:43                       ` Jacob Lifshay
  2020-03-15 19:52                         ` Immanuel, Yehowshua U
@ 2020-03-15 19:56                         ` Luke Kenneth Casson Leighton
  2020-03-16  7:14                         ` Lauri Kasanen
  2 siblings, 0 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:56 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:44 PM Jacob Lifshay <programmerjake@gmail.com> wrote:
>
> On Sun, Mar 15, 2020, 12:33 Immanuel, Yehowshua U <yimmanuel3@gatech.edu>
> wrote:
>
> > Who knows, I could be wrong. Maybe people really would find a use for dual
> > ISAs - but up front, to investor for example, and to me, it looks
> > unnecessary.
>
>
> In my opinion, dual ISAs is a significant advantage that basically no one
> else has, since it allows us to run both Power and RISC-V software at full
> speed, it's also useful for on a test server where people need to test both
> Power and RISC-V software (where QEMU isn't good enough).

from a commercial perspective, given that there doesn't exist any
mass-volume products that use RISC-V (just a lot of noise and a lot of
talk), it's not as attractive as it seems.

if however we assume that RISC-V *will* take off in mass-volume,
*then* it might become attractive.

however given that the RISC-V Foundation's reputation is now shot to
shit, and people know - loud and clear - that they are "Fake Open
Source", i highly doubt whether mass-commercial
*end-user-programmable* RISC-V systems will actually take off any time
in the next 8 to 12 years.

> Later (for Libre-SOC v2 or v3), it might be a good idea to add support for
> x86 and x86_64 user-mode since the patents for the base ISA will have
> expired by then. This would help give us an advantage since it would allow
> us to run legacy software.

now that *would* be good.

as we saw with the China ICT "Loongson G" architecture, even just the
base ISA having *partial* x86 hardware ISA support would give a
massive speed-boost of an emulated application.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:52                         ` Immanuel, Yehowshua U
@ 2020-03-15 19:57                           ` Luke Kenneth Casson Leighton
  2020-03-15 20:00                             ` Immanuel, Yehowshua U
  2020-03-15 22:04                           ` Staf Verhaegen
  1 sibling, 1 reply; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 19:57 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 7:53 PM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:

> But yeah, the main thought in my head for sticking with a single ISA is power consumption.

it's all at the translation (decoder), phase, yehowsua.   the choice
of ISA is a 33rd bit, and once decoded to that "internal" format,
it's... nothing.

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:57                           ` Luke Kenneth Casson Leighton
@ 2020-03-15 20:00                             ` Immanuel, Yehowshua U
  2020-03-15 20:05                               ` Luke Kenneth Casson Leighton
  0 siblings, 1 reply; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-15 20:00 UTC (permalink / raw)
  To: Libre-RISCV General Development

> x86 and x86_64 user-mode since the patents for the base ISA will have
> expired by then

Did you hear THAT intel?
Soto voice: Watch out

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 20:00                             ` Immanuel, Yehowshua U
@ 2020-03-15 20:05                               ` Luke Kenneth Casson Leighton
  0 siblings, 0 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 20:05 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 8:00 PM Immanuel, Yehowshua U
<yimmanuel3@gatech.edu> wrote:
>
> > x86 and x86_64 user-mode since the patents for the base ISA will have
> > expired by then
>
> Did you hear THAT intel?

haha :)

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:52                         ` Immanuel, Yehowshua U
  2020-03-15 19:57                           ` Luke Kenneth Casson Leighton
@ 2020-03-15 22:04                           ` Staf Verhaegen
  2020-03-15 22:10                             ` Jacob Lifshay
  1 sibling, 1 reply; 40+ messages in thread
From: Staf Verhaegen @ 2020-03-15 22:04 UTC (permalink / raw)
  To: libre-riscv-dev

[-- Attachment #1.1: Type: text/plain, Size: 874 bytes --]

Immanuel, Yehowshua U schreef op zo 15-03-2020 om 19:52 [+0000]:
> > 
> > Later (for Libre-SOC v2 or v3), it might be a good idea to add support for
> > x86 and x86_64 user-mode since the patents for the base ISA will have
> > expired by then. This would help give us an advantage since it would allow
> > us to run legacy software.
> 
> 
> Isn’t x86 kinda big - like a 1000+ instructions? How would this impact our power target…
> 
> But other than that, I’m all for adding x86 support.

If you consider implementing x86 instruction set you also need to
consider the risk of patent lawsuits being filed at you...

Risc-V instruction set is specially designed to only use features which
are not patented or for which the patents have expired. I did not dive
in the open licensing terms but I assume that includes patent licenses.

greets,
Staf.


[-- Attachment #2: Type: text/plain, Size: 177 bytes --]

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 22:04                           ` Staf Verhaegen
@ 2020-03-15 22:10                             ` Jacob Lifshay
  2020-03-15 22:23                               ` Adam Van Ymeren
  0 siblings, 1 reply; 40+ messages in thread
From: Jacob Lifshay @ 2020-03-15 22:10 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020, 15:04 Staf Verhaegen <staf@fibraservi.eu> wrote:

> Immanuel, Yehowshua U schreef op zo 15-03-2020 om 19:52 [+0000]:
> > >
> > > Later (for Libre-SOC v2 or v3), it might be a good idea to add support
> for
> > > x86 and x86_64 user-mode since the patents for the base ISA will have
> > > expired by then. This would help give us an advantage since it would
> allow
> > > us to run legacy software.
> >
> >
> > Isn’t x86 kinda big - like a 1000+ instructions? How would this impact
> our power target…
> >
> > But other than that, I’m all for adding x86 support.
>
> If you consider implementing x86 instruction set you also need to
> consider the risk of patent lawsuits being filed at you...
>

that's true, but if you only implement the parts where all the patents have
expired, then they'll have a hard time suing you for patent infringement.

Jacob
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 22:10                             ` Jacob Lifshay
@ 2020-03-15 22:23                               ` Adam Van Ymeren
  2020-03-15 22:32                                 ` Luke Kenneth Casson Leighton
  0 siblings, 1 reply; 40+ messages in thread
From: Adam Van Ymeren @ 2020-03-15 22:23 UTC (permalink / raw)
  To: libre-riscv-dev


On 2020-03-15 6:10 p.m., Jacob Lifshay wrote:
> On Sun, Mar 15, 2020, 15:04 Staf Verhaegen <staf@fibraservi.eu> wrote:
>
>> If you consider implementing x86 instruction set you also need to
>> consider the risk of patent lawsuits being filed at you...
>>
> that's true, but if you only implement the parts where all the patents have
> expired, then they'll have a hard time suing you for patent infringement.

Technically they'll have an easy time suing you.  Its easy to sue anyone
for anything.  They may have a hard time winning however.

>
> Jacob
> _______________________________________________
> libre-riscv-dev mailing list
> libre-riscv-dev@lists.libre-riscv.org
> http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 22:23                               ` Adam Van Ymeren
@ 2020-03-15 22:32                                 ` Luke Kenneth Casson Leighton
  2020-03-16  0:25                                   ` Immanuel, Yehowshua U
  0 siblings, 1 reply; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-15 22:32 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, Mar 15, 2020 at 10:23 PM Adam Van Ymeren <adam@vany.ca> wrote:

> Technically they'll have an easy time suing you.

so... how would that go?  what do you think the headline news would
be?  and what would the EFF, FSF and the SFLC's response be if we
asked them for help?  have a guess... :)

l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 22:32                                 ` Luke Kenneth Casson Leighton
@ 2020-03-16  0:25                                   ` Immanuel, Yehowshua U
  0 siblings, 0 replies; 40+ messages in thread
From: Immanuel, Yehowshua U @ 2020-03-16  0:25 UTC (permalink / raw)
  To: Libre-RISCV General Development


Haha, lets just wait until we’ve got some customers before pulling that stunt.
Also, literally, everybody including MS, Amazon, Apple, would be on our side.

Bad news for intel...

Sent from my iPad
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-15 19:43                       ` Jacob Lifshay
  2020-03-15 19:52                         ` Immanuel, Yehowshua U
  2020-03-15 19:56                         ` Luke Kenneth Casson Leighton
@ 2020-03-16  7:14                         ` Lauri Kasanen
  2020-03-16  7:28                           ` Jacob Lifshay
  2020-03-16  8:53                           ` Staf Verhaegen
  2 siblings, 2 replies; 40+ messages in thread
From: Lauri Kasanen @ 2020-03-16  7:14 UTC (permalink / raw)
  To: Libre-RISCV General Development

On Sun, 15 Mar 2020 12:43:45 -0700
Jacob Lifshay <programmerjake@gmail.com> wrote:

> Later (for Libre-SOC v2 or v3), it might be a good idea to add support for
> x86 and x86_64 user-mode since the patents for the base ISA will have
> expired by then. This would help give us an advantage since it would allow
> us to run legacy software.

486 and 586 patents had expired years ago, and we had Chinese 1 GHz
implementations of those (vortex86). Now they have 686 models, so I
take pentium pro patents are also up for use.

x86_64 should become free around 2022 by my estimation.

- Lauri

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-16  7:14                         ` Lauri Kasanen
@ 2020-03-16  7:28                           ` Jacob Lifshay
  2020-03-16  8:53                           ` Staf Verhaegen
  1 sibling, 0 replies; 40+ messages in thread
From: Jacob Lifshay @ 2020-03-16  7:28 UTC (permalink / raw)
  To: Lauri Kasanen; +Cc: Libre-RISCV General Development

On Mon, Mar 16, 2020, 00:13 Lauri Kasanen <cand@gmx.com> wrote:

> On Sun, 15 Mar 2020 12:43:45 -0700
> Jacob Lifshay <programmerjake@gmail.com> wrote:
>
> > Later (for Libre-SOC v2 or v3), it might be a good idea to add support
> for
> > x86 and x86_64 user-mode since the patents for the base ISA will have
> > expired by then. This would help give us an advantage since it would
> allow
> > us to run legacy software.
>
> 486 and 586 patents had expired years ago, and we had Chinese 1 GHz
> implementations of those (vortex86). Now they have 686 models, so I
> take pentium pro patents are also up for use.
>
> x86_64 should become free around 2022 by my estimation.
>

The amd64 spec was first published in august 2000 according to wikipedia,
so that may mean the base ISA patents expire in 2020.

Jacob
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-16  7:14                         ` Lauri Kasanen
  2020-03-16  7:28                           ` Jacob Lifshay
@ 2020-03-16  8:53                           ` Staf Verhaegen
  2020-03-16  9:27                             ` Lauri Kasanen
  1 sibling, 1 reply; 40+ messages in thread
From: Staf Verhaegen @ 2020-03-16  8:53 UTC (permalink / raw)
  To: libre-riscv-dev

[-- Attachment #1.1: Type: text/plain, Size: 680 bytes --]

Lauri Kasanen schreef op ma 16-03-2020 om 09:14 [+0200]:
> On Sun, 15 Mar 2020 12:43:45 -0700Jacob Lifshay <programmerjake@gmail.com> wrote:
> > Later (for Libre-SOC v2 or v3), it might be a good idea to add support forx86 and x86_64 user-mode since the patents for the base ISA will haveexpired by then. This would help give us an advantage since it would allowus to run legacy software.
> 
> 486 and 586 patents had expired years ago, and we had Chinese 1 GHzimplementations of those (vortex86). Now they have 686 models, so Itake pentium pro patents are also up for use.

I think these were because Via had cross-patent license agreement with Intel.

greets,
Staf.


[-- Attachment #2: Type: text/plain, Size: 177 bytes --]

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-16  8:53                           ` Staf Verhaegen
@ 2020-03-16  9:27                             ` Lauri Kasanen
  2020-03-16 10:34                               ` Luke Kenneth Casson Leighton
  2020-03-16 11:00                               ` Staf Verhaegen
  0 siblings, 2 replies; 40+ messages in thread
From: Lauri Kasanen @ 2020-03-16  9:27 UTC (permalink / raw)
  To: libre-riscv-dev

On Mon, 16 Mar 2020 09:53:38 +0100
Staf Verhaegen <staf@fibraservi.eu> wrote:

> Lauri Kasanen schreef op ma 16-03-2020 om 09:14 [+0200]:
> > 486 and 586 patents had expired years ago, and we had Chinese 1 GHzimplementations of those (vortex86). Now they have 686 models, so Itake pentium pro patents are also up for use.
>
> I think these were because Via had cross-patent license agreement with Intel.

DMP is not related to VIA. Via's C and Nano lines happened much
earlier, with the licensing.

- Lauri

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-16  9:27                             ` Lauri Kasanen
@ 2020-03-16 10:34                               ` Luke Kenneth Casson Leighton
  2020-03-16 11:00                               ` Staf Verhaegen
  1 sibling, 0 replies; 40+ messages in thread
From: Luke Kenneth Casson Leighton @ 2020-03-16 10:34 UTC (permalink / raw)
  To: Libre-RISCV General Development

https://github.com/power-gem5
this boots a 64-bit BE linux kernel, plus a basic initramfs and has
telnet in to the console.
l.

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

* Re: [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility
  2020-03-16  9:27                             ` Lauri Kasanen
  2020-03-16 10:34                               ` Luke Kenneth Casson Leighton
@ 2020-03-16 11:00                               ` Staf Verhaegen
  1 sibling, 0 replies; 40+ messages in thread
From: Staf Verhaegen @ 2020-03-16 11:00 UTC (permalink / raw)
  To: libre-riscv-dev

[-- Attachment #1.1: Type: text/plain, Size: 680 bytes --]

Lauri Kasanen schreef op ma 16-03-2020 om 11:27 [+0200]:
> On Mon, 16 Mar 2020 09:53:38 +0100Staf Verhaegen <staf@fibraservi.eu> wrote:
> > Lauri Kasanen schreef op ma 16-03-2020 om 09:14 [+0200]:
> > > 486 and 586 patents had expired years ago, and we had Chinese 1 GHzimplementations of those (vortex86). Now they have 686 models, so Itake pentium pro patents are also up for use.
> > 
> > I think these were because Via had cross-patent license agreement with Intel.
> 
> DMP is not related to VIA. Via's C and Nano lines happened muchearlier, with the licensing.

I stand corrected; it was SiS which did the first Vortex86 and sold that line to DM&P.

Staf.




[-- Attachment #2: Type: text/plain, Size: 177 bytes --]

_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, back to index

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <6AC4EFD4-AA30-42C7-855A-CE68A62F107F@gatech.edu>
2020-03-15  3:17 ` [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility Jacob Lifshay
2020-03-15  4:00   ` Luke Kenneth Casson Leighton
2020-03-15  7:59     ` Jacob Lifshay
2020-03-15 11:22       ` Luke Kenneth Casson Leighton
2020-03-15 12:09         ` [libre-riscv-dev] pearpc simulator running Luke Kenneth Casson Leighton
2020-03-15  5:10   ` [libre-riscv-dev] LibreSOC - RISCV and POWER dual architecture feasibility Hendrik Boom
2020-03-15  6:13     ` Jacob Lifshay
2020-03-15  7:18       ` Immanuel, Yehowshua U
2020-03-15 11:20         ` Luke Kenneth Casson Leighton
2020-03-15 18:19           ` Immanuel, Yehowshua U
2020-03-15 18:21             ` Immanuel, Yehowshua U
2020-03-15 18:26               ` Immanuel, Yehowshua U
2020-03-15 19:11               ` Luke Kenneth Casson Leighton
2020-03-15 19:16                 ` Immanuel, Yehowshua U
2020-03-15 19:20                   ` Immanuel, Yehowshua U
2020-03-15 19:24                     ` Luke Kenneth Casson Leighton
2020-03-15 19:25                       ` Luke Kenneth Casson Leighton
2020-03-15 19:23                   ` Luke Kenneth Casson Leighton
2020-03-15 19:32                     ` Immanuel, Yehowshua U
2020-03-15 19:43                       ` Jacob Lifshay
2020-03-15 19:52                         ` Immanuel, Yehowshua U
2020-03-15 19:57                           ` Luke Kenneth Casson Leighton
2020-03-15 20:00                             ` Immanuel, Yehowshua U
2020-03-15 20:05                               ` Luke Kenneth Casson Leighton
2020-03-15 22:04                           ` Staf Verhaegen
2020-03-15 22:10                             ` Jacob Lifshay
2020-03-15 22:23                               ` Adam Van Ymeren
2020-03-15 22:32                                 ` Luke Kenneth Casson Leighton
2020-03-16  0:25                                   ` Immanuel, Yehowshua U
2020-03-15 19:56                         ` Luke Kenneth Casson Leighton
2020-03-16  7:14                         ` Lauri Kasanen
2020-03-16  7:28                           ` Jacob Lifshay
2020-03-16  8:53                           ` Staf Verhaegen
2020-03-16  9:27                             ` Lauri Kasanen
2020-03-16 10:34                               ` Luke Kenneth Casson Leighton
2020-03-16 11:00                               ` Staf Verhaegen
2020-03-15 19:51                       ` Luke Kenneth Casson Leighton
2020-03-15 19:37                     ` Immanuel, Yehowshua U
2020-03-15 19:07             ` Luke Kenneth Casson Leighton
2020-03-15 16:57       ` Hendrik Boom

Libre RISC-V Mailing list Archives (accessible via public-inbox)

Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev

Example config snippet for mirrors


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git