start filling in
[libreriscv.git] / isa_conflict_resolution.mdwn
index 64fc5cb0cd63da2e64a100b4dd3123136ba31d3c..b2b3b212458f5b661e286270f5aeaef5619b628a 100644 (file)
@@ -17,16 +17,19 @@ With no transition path there is guaranteed to be tension and conflict
 within the RISC-V Community over whether revisions should be made:
 should existing legacy designs be prioritised, mutually-exclusively over
 future designs (and what happens during the transition period is absolute
-chaos).  If several overlapping revisions are required that have not
-yet transitioned out of use (which could take well over two decades to
-occur) the situation becomes disastrous for the credibility of RISC-V.
+chaos, with the compiler toolchain, software ecosystem and ultimately
+the end-users bearing the full brunt of the impact).  If several
+overlapping revisions are required that have not yet transitioned out
+of use (which could take well over two decades to occur) the situation
+becomes disastrous for the credibility of the entire RISC-V ecosystem.
 
 It was also pointed out that Compliance is an extremely important factor
 to take into consideration, and that Custom Extensions (as being optional)
-effectively fall entirely outside of the Compliance Testing.  At this
-point in the discussion however it was not yet noted the stark problem
-that the *mandatory* RISC-V Specification also faces, by virtue of there
-being no transitional way to bring in show-stopping critical alterations.
+effectively and quite reasonably fall entirely outside of the scope of
+Compliance Testing.  At this point in the discussion however it was not
+yet noted the stark problem that the *mandatory* RISC-V Specification
+also faces, by virtue of there being no transitional way to bring in
+show-stopping critical alterations.
 
 To put this into perspective, just taking into account hardware costs
 alone: with production mask charges for 28nm being around USD $1.5m,
@@ -38,15 +41,16 @@ the RISC-V Specification or not) without a bitter fight.
 It was also pointed out that there will be significant software tool
 maintenance costs for manufacturers, meaning that the probability will
 be extremely high that they will refuse to shoulder such costs, and
-publish hopelessly out-of-date unpatched tools.  This practice is
-well-known to result in security flaws going unpatched, with one
-of many immediate consequences being that product gets discarded into
-landfill.
+will publish and continue to publish (and use) hopelessly out-of-date
+unpatched tools.  This practice is well-known to result in security
+flaws going unpatched, with one of many immediate undesirable consequences
+being that product in extremely large volume gets discarded into landfill.
 
-All and any of the issues that were discussed, and all of those that
-were not, can be avoided by providing a forwards and backwards
-compatible transition path between the current and future *mandatory*
-parts of revisions of the RISC-V ISA Standard.
+**All and any of the issues that were discussed, and all of those that
+were not, can be avoided by providing a hardware-level runtime-enabled
+forwards and backwards compatible transition path between *all* parts
+(mandatory or not) of current and future revisions of the RISC-V ISA
+Standard.**
 
 The rest of the discussion - indicative as it was of the stark mutually
 exclusive gap being faced by the RISC-V ISA Standard given that it does
@@ -55,8 +59,9 @@ camps: one that wanted things to remain as they are, and another that
 made efforts to point out that the consequences of not taking action
 are clearly extreme and irreversible (which, unfortunately, given the
 severity, some of the first group were unable to believe, despite there
-being clear historical precedent for the same mistake being made in
-other architectures).
+being clear historical precedent for the exact same mistake being made in
+other architectures, and the consequences on the same being absolutely
+clear).
 
 However after a significant amount of time, certain clear requirements came
 out of the discussion:
@@ -120,9 +125,16 @@ space (48-bit, 64-bit) *greater* than that which the chosen core could
 cope with (32-bit, 48-bit).
 
 Overall, none of the options presented were feasible, and, in addition,
-even if they were followed through, still would result in the failure
-of the RISC-V ecosystem due to global conflicting ISA binary-encoding
-meanings (POWERPC's Altivec / SPE nightmare).
+with no clear leadership from the RISC-V Foundation on how to avoid
+global world-wide encoding conflict, even if they were followed through,
+still would result in the failure of the RISC-V ecosystem due to
+irreversible global conflicting ISA binary-encoding meanings (POWERPC's
+Altivec / SPE nightmare).
+
+This in addition to the case where the RISC-V Foundation wishes to
+fix a critical show-stopping update to the Standard, post-release,
+where billions of dollars have been spent on deploying RISC-V in the
+field.
 
 # Do nothing (out of scope)
 
@@ -133,13 +145,13 @@ This was one of the first arguments presented: The RISC-V Foundation
 considers Custom Extensions to be "out of scope"; that "it's not their
 problem, therefore there isn't a problem".
 
-The logical errors in this argument were quickly enumerated: namely
-that the RISC-V Foundation is not in control of the use-cases, such
-that binary-encoding is a hundred percent guaranteed to occur, and
-a hundred percent guaranteed to occur in *commodity* hardware where
-Debian, Fedora, SUSE and other distros will be hardest hit by the
-resultant chaos, and that will just be the more "visible" aspect of
-the underlying problem.
+The logical errors in this argument were quickly enumerated: namely that
+the RISC-V Foundation is not in control of the uses to which RISC-V is
+put, such that public global conflicts in binary-encoding are a hundred
+percent guaranteed to occur, and a hundred percent guaranteed to occur in
+*commodity* hardware where Debian, Fedora, SUSE and other distros will
+be hardest hit by the resultant chaos, and that will just be the more
+"visible" aspect of the underlying problem.
 
 # Do nothing (Compliance too complex, therefore out of scope)