Sujet : Re: Why I've Dropped In
De : mitchalsup (at) *nospam* aol.com (MitchAlsup1)
Groupes : comp.archDate : 13. Jun 2025, 01:00:57
Autres entêtes
Organisation : Rocksolid Light
Message-ID : <a34152fc56cbc0950b6dbd235bd8fb74@www.novabbs.org>
References : 1 2 3 4 5 6 7 8 9 10
User-Agent : Rocksolid Light
On Thu, 12 Jun 2025 21:30:39 +0000, BGB wrote:
On 6/12/2025 2:13 PM, MitchAlsup1 wrote:
------------------------------
>
GP: Similar situation to LR, as it mostly looks like a GPR.
In my CPU core and JX2VM, the high bits of GP were aliased to FPSR, so
saving/restoring GP will also implicitly save/restore the dynamic
rounding mode and similar (as opposed to proper RISC-V which has this
stuff in a CSR).
>
With universal constants, you get this register back.
>
>
Well, if using an ABI that either allows absolute addressing or PC-rel
access to globals.
It is ISA that directly supports access to Globals.
>
The ABI designs I am using in BGBCC and TestKern use a global pointer
for accessing globals, and allocate the storage for ".data"/".bss"
separately from ".text". In this ABI design, the pointer is unavoidable.
I want a system where .data and .bss can be > 1TB away from each other.
So, that .data grows when ld.so loads another dynamic library, and .bss
grows for the same reasons.
Does allow multiple process instances in a single address space with
non-duplicated ".text" though (and is more friendly towards NOMMU
operation).
>
>
>
>
Though, this isn't practically too much different from using the HOB's
of captured LR values to hold the CPU ISA mode and similar (which my
newer X3VM retains, though I am still on the fence about the "put FPSR
bits into HOBs of GP" thing).
>
Does mean that either dynamic rounding mode is lost every time a GP
reload is done (though, only for the callee), or that setting the
rounding mode also needs to update the corresponding PBO GP pointer
(which would effectively make it semi-global but tied to each PE image).
>
The traditional assumption though was that dynamic rounding mode is
fully global, and I had been trying to make it dynamically scoped.
>
The modern interpretation is that the dynamic rounding mode can be set
prior to any FP instruction. So, you better be able to set it rapidly
and without pipeline drain, and you need to mark the downstream FP
instructions as dependent on this.
>
Errm, there is likely to be a delay here, otherwise one will get a stale
rounding mode.
RM is "just 3-bits" that get read from control register and piped
through instruction queue to function unit. Think of the problem
one would have if a hyperthreaded core had to stutter step through
changing RM ...
>
So, setting the rounding mode might be something like:
MOV .L0, R14
MOVTT GP, 0x8001, GP //Set to rounding mode 1, clear flag bits
JMP R14 //use branch to flush pipeline
.L0: //updated FPSR now ready
FADDG R11, R12, R10 //FADD, dynamic mode
Setting RM to a constant (known) value::
HRW rd,RM,#imm3 // rd gets old value
Or, use an encoding with an explicit (static) rounding mode:
FADD R11, R12, 1, R10
>
Date | Sujet | # | | Auteur |
19 May 25 | Why I've Dropped In | 417 | | quadibloc |
19 May 25 |  Re: Why I've Dropped In | 349 | | quadibloc |
21 May 25 |   Re: Why I've Dropped In | 348 | | quadibloc |
22 May 25 |    Re: Why I've Dropped In | 11 | | David Chmelik |
22 May 25 |     Re: Why I've Dropped In | 2 | | MitchAlsup1 |
23 May 25 |      Re: Why I've Dropped In | 1 | | MitchAlsup1 |
10 Jun 25 |     Re: Why I've Dropped In | 8 | | quadibloc |
11 Jun 25 |      Re: Why I've Dropped In | 1 | | BGB |
11 Jun 25 |      Re: Why I've Dropped In | 6 | | quadibloc |
11 Jun 25 |       Re: Why I've Dropped In | 4 | | Chris M. Thomasson |
12 Jun 25 |        Re: Why I've Dropped In | 3 | | quadibloc |
12 Jun 25 |         Re: Why I've Dropped In | 1 | | Chris M. Thomasson |
16 Jun 25 |         Re: Why I've Dropped In | 1 | | Chris M. Thomasson |
12 Jun 25 |       Re: Why I've Dropped In | 1 | | quadibloc |
10 Jun 25 |    Re: Why I've Dropped In | 335 | | quadibloc |
11 Jun 25 |     Re: Why I've Dropped In | 322 | | Thomas Koenig |
11 Jun 25 |      Re: Why I've Dropped In | 23 | | BGB |
11 Jun 25 |       Re: Why I've Dropped In | 8 | | MitchAlsup1 |
11 Jun 25 |        Re: Why I've Dropped In | 7 | | BGB |
12 Jun 25 |         Re: Why I've Dropped In | 6 | | MitchAlsup1 |
12 Jun 25 |          Re: Why I've Dropped In | 5 | | BGB |
13 Jun 25 |           Re: Why I've Dropped In | 4 | | MitchAlsup1 |
15 Jun 25 |            Re: Why I've Dropped In | 3 | | BGB |
15 Jun 25 |             Re: Why I've Dropped In | 2 | | MitchAlsup1 |
15 Jun 25 |              Re: Why I've Dropped In | 1 | | BGB |
11 Jun 25 |       Re: Why I've Dropped In | 10 | | Anton Ertl |
11 Jun 25 |        Re: Why I've Dropped In | 6 | | MitchAlsup1 |
12 Jun 25 |         Re: Why I've Dropped In | 5 | | MitchAlsup1 |
12 Jun 25 |          Re: Why I've Dropped In | 4 | | Anton Ertl |
12 Jun 25 |           Re: Why I've Dropped In | 2 | | MitchAlsup1 |
20 Jun 25 |            Re: Why I've Dropped In | 1 | | Anton Ertl |
12 Jun 25 |           Re: Why I've Dropped In | 1 | | Thomas Koenig |
11 Jun 25 |        Re: Why I've Dropped In | 3 | | BGB |
12 Jun 25 |         Re: Why I've Dropped In | 2 | | Anton Ertl |
12 Jun 25 |          Re: Why I've Dropped In | 1 | | BGB |
20 Jun 25 |       Re: Why I've Dropped In | 4 | | quadibloc |
20 Jun 25 |        Re: Why I've Dropped In | 3 | | MitchAlsup1 |
20 Jun 25 |         Re: Why I've Dropped In | 2 | | moi |
20 Jun 25 |          Re: Why I've Dropped In | 1 | | quadibloc |
11 Jun 25 |      Re: Why I've Dropped In | 298 | | quadibloc |
11 Jun 25 |       Re: Why I've Dropped In | 19 | | MitchAlsup1 |
11 Jun 25 |        Re: Why I've Dropped In | 3 | | quadibloc |
11 Jun 25 |         Re: Why I've Dropped In | 2 | | MitchAlsup1 |
14 Jun 25 |          Re: Why I've Dropped In | 1 | | BGB |
16 Jun 25 |        Re: Why I've Dropped In | 15 | | Stefan Monnier |
17 Jun 25 |         Re: Why I've Dropped In | 1 | | quadibloc |
17 Jun 25 |         Re: Why I've Dropped In | 13 | | Stephen Fuld |
17 Jun 25 |          Re: Why I've Dropped In | 12 | | MitchAlsup1 |
17 Jun 25 |           Re: Why I've Dropped In | 1 | | Stephen Fuld |
17 Jun 25 |           Re: Why I've Dropped In | 10 | | Stefan Monnier |
17 Jun 25 |            Re: Why I've Dropped In | 6 | | MitchAlsup1 |
17 Jun 25 |             Re: Why I've Dropped In | 5 | | Stefan Monnier |
18 Jun 25 |              Re: Why I've Dropped In | 4 | | Anton Ertl |
18 Jun 25 |               Re: Why I've Dropped In | 2 | | Stefan Monnier |
19 Jun 25 |                Re: Why I've Dropped In | 1 | | Anton Ertl |
18 Jun 25 |               Re: Why I've Dropped In | 1 | | BGB |
18 Jun 25 |            Re: Why I've Dropped In | 3 | | Chris M. Thomasson |
18 Jun 25 |             Re: Why I've Dropped In | 2 | | Stefan Monnier |
20 Jun 25 |              Re: Why I've Dropped In | 1 | | Chris M. Thomasson |
11 Jun 25 |       Re: Why I've Dropped In | 198 | | Thomas Koenig |
12 Jun 25 |        Re: Why I've Dropped In | 197 | | quadibloc |
12 Jun 25 |         Re: Why I've Dropped In | 193 | | Stephen Fuld |
13 Jun 25 |          Re: Why I've Dropped In | 54 | | quadibloc |
13 Jun 25 |           Re: Why I've Dropped In | 53 | | Stephen Fuld |
13 Jun 25 |            Re: Why I've Dropped In | 52 | | Thomas Koenig |
13 Jun 25 |             Re: Why I've Dropped In | 1 | | quadibloc |
13 Jun 25 |             Re: Why I've Dropped In | 50 | | Stephen Fuld |
13 Jun 25 |              Re: Why I've Dropped In | 49 | | Thomas Koenig |
13 Jun 25 |               Re: Why I've Dropped In | 21 | | Stephen Fuld |
13 Jun 25 |                Re: Why I've Dropped In | 19 | | Thomas Koenig |
13 Jun 25 |                 Re: Why I've Dropped In | 2 | | MitchAlsup1 |
15 Jun 25 |                  Re: Why I've Dropped In | 1 | | Stephen Fuld |
13 Jun 25 |                 Re: Why I've Dropped In | 1 | | Stephen Fuld |
15 Jun 25 |                 Re: base and bounds, Why I've Dropped In | 15 | | John Levine |
15 Jun 25 |                  Re: base and bounds, Why I've Dropped In | 13 | | Stephen Fuld |
15 Jun 25 |                   Re: base and bounds, Why I've Dropped In | 12 | | John Levine |
15 Jun 25 |                    Re: base and bounds, Why I've Dropped In | 9 | | MitchAlsup1 |
16 Jun 25 |                     Re: base and bounds, Why I've Dropped In | 7 | | Stephen Fuld |
16 Jun 25 |                      Re: base and bounds, Why I've Dropped In | 2 | | quadibloc |
16 Jun 25 |                       Re: base and bounds, Why I've Dropped In | 1 | | Stephen Fuld |
16 Jun 25 |                      Re: base and bounds, Why I've Dropped In | 4 | | MitchAlsup1 |
16 Jun 25 |                       Re: base and bounds, Why I've Dropped In | 3 | | Stephen Fuld |
16 Jun 25 |                        Re: base and bounds, Why I've Dropped In | 2 | | quadibloc |
16 Jun 25 |                         Re: base and bounds, Why I've Dropped In | 1 | | Stephen Fuld |
16 Jun 25 |                     Re: base and bounds, Why I've Dropped In | 1 | | quadibloc |
15 Jun 25 |                    Re: base and bounds, Why I've Dropped In | 2 | | Stephen Fuld |
16 Jun 25 |                     Re: base and bounds, Why I've Dropped In | 1 | | John Levine |
16 Jun 25 |                  Re: big pages, base and bounds, Why I've Dropped In | 1 | | John Levine |
13 Jun 25 |                Re: Why I've Dropped In | 1 | | Lars Poulsen |
13 Jun 25 |               Re: Why I've Dropped In | 1 | | MitchAlsup1 |
13 Jun 25 |               Re: Why I've Dropped In | 26 | | quadibloc |
14 Jun 25 |                Re: Why I've Dropped In | 25 | | Thomas Koenig |
14 Jun 25 |                 Re: Why I've Dropped In | 24 | | Stephen Fuld |
14 Jun 25 |                  Re: Why I've Dropped In | 3 | | Thomas Koenig |
14 Jun 25 |                   Re: Why I've Dropped In | 2 | | Stephen Fuld |
14 Jun 25 |                    Re: Why I've Dropped In | 1 | | Thomas Koenig |
14 Jun 25 |                  Re: Why I've Dropped In | 14 | | Stephen Fuld |
14 Jun 25 |                   Re: Why I've Dropped In | 13 | | quadibloc |
14 Jun 25 |                    Re: Why I've Dropped In | 1 | | Stephen Fuld |
14 Jun 25 |                    Re: Why I've Dropped In | 11 | | quadibloc |
15 Jun 25 |                     Re: Why I've Dropped In | 10 | | Stephen Fuld |
15 Jun 25 |                  Re: Why I've Dropped In | 6 | | quadibloc |
13 Jun 25 |          Re: Why I've Dropped In | 134 | | quadibloc |
14 Jun 25 |          Re: base registers and addres size, Why I've Dropped In | 3 | | John Levine |
18 Jun 25 |          Re: Why I've Dropped In | 1 | | Lynn Wheeler |
13 Jun 25 |         Re: Why I've Dropped In | 3 | | BGB |
11 Jun 25 |       Re: Why I've Dropped In | 55 | | Anton Ertl |
11 Jun 25 |       Re: Why I've Dropped In | 4 | | quadibloc |
11 Jun 25 |       Re: Why I've Dropped In | 21 | | MitchAlsup1 |
11 Jun 25 |     Re: Why I've Dropped In | 11 | | quadibloc |
13 Jun 25 |     Re: Why I've Dropped In | 1 | | quadibloc |
16 Jun 25 |    Re: Why I've Dropped In | 1 | | quadibloc |
12 Jun 25 |  Re: Why I've Dropped In | 58 | | quadibloc |
27 Jun 25 |  Re: errno, Code density | 9 | | John Levine |