Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jan 2024 16:57:08 +0000
From:      Stanislav Silnicki <stanislav.silnicki@mailgate.us>
To:        FreeBSD ARM List <freebsd-arm@freebsd.org>
Subject:   Re: STM32MP157
Message-ID:  <686297325f0d8.847517e9afdee@mailgate.us>
References:  <4d6bf0126f4fb.c24cc5f2fa47c@mailgate.us> <cade2176971ebe57c4cf952a633e12d5@ohdata.se> <00cab7929791c.8af55c0bd1d5f@mailgate.us> <5d65957f4c04a4bec7ae6ef5469b149c@ohdata.se> <d12e3b1a90216.8e6290090dd15@mailgate.us> <0dab0fc75864.77e1118ea80bb@mailgate.us> <5aa7e3eff95c.2102a80bb1a3b@mailgate.us> <0926803a4f0a.17799edcfe428@mailgate.us> <19de1a006e313.760d63ffe37aa@mailgate.us> <41EBB5DE-EB46-435A-98FC-9017A2CE3B10@mit.edu> <efc9993b489d1.5c9a553874833@mailgate.us> <689d44174e0f9.1733c7a78ebda@mailgate.us>

next in thread | previous in thread | raw e-mail | index | archive | help
------sinikael-?=_1-17049058292700.7558567376711265
Content-Type: text/plain; format=flowed
Content-Transfer-Encoding: 7bit

WIP status:
So far implemented:
- u-boot config + DTS with SPL (only secure mode). A port is prepared and 
compiled, while pending dev. testing.
- uart: EARLY_PRINTF, low-level driver interface (full console). high level 
methods are pending implementation, though seem trivial.
- SMP: second core is started
Pending:
- sd/mmc (a must)
- rtc (seems trivial)
- net if driver (optional?)
Couple questions to community:
1. Shall I consider any other parts to port to be able to pass phabricator 
& review?
2. My current board with STM32MP1 (Karo's Qbase4 + QSMP1570 module) does 
not have sd card connector soldered.
May I consider a description in port's README of how to solder an SD Card 
to be able to boot from one? There is also an option to describe how to 
flash onboard 4Gb emmc chip.
A special question about 32bit systems discontinuty: is it mainly a warning 
for i386 or there is a real plan to abandon armv7?
Stan
Stanislav Silnicki wrote:
Reading TCMTR shows 0x0, so is looks like TCM is not implemented in my 
case...
Stanislav Silnicki wrote:
if you mean SRAM, stm32mp1 has some @ 0x20000000. In my current setup with 
ftfp boot, it is used to load SPL+uboot, then, kernel is loaded into 
default kernel space @ 0xc0000000, where DRAM starts. At the _start 
kernel's entry sp is something about 0xdd....., so it uses DRMA as well. 
Where can I find traces of TCM usage?
John F Carr wrote:
Are you using a chip where some memory can be mapped as TCM or cache?
Trying to use the memory both ways could cause problems.
<block
quote class="gmail_quote" type="cite" style="margin:0 0 0 
.8ex;border-left:1px #ccc solid;padding-left:1ex">
On Nov 18, 2023, at 19:46, Stanislav Silnicki 
<stanislav.silnicki@mailgate.us> wrote:
The root cause of zeroed stack in my setup with STM32MP157 seems to be in 
the TEX remapping registers values, calculated by pmap_set_tex(void). It 
can be a wrong assumption, as I'm not sure of any hardware (OTP/Security) 
tunings, that might be in effect....
Blindly copied values for PRRR & NMRR registers from Linux kernel (6.1.28), 
supplied by STM in their distribution I could avoid the trouble with zeroed 
stack memory. The hardcoded values are:
rg ".equ\s+(PR|NM)RR" arch/arm/mm/*
arch/arm/mm/proc-v7-3level.S
110:.equ PRRR, 0xeeaa4400 @ MAIR0
111:.equ NMRR, 0xff000004 @ MAIR1
arch/arm/mm/proc-v7-2level.S
137:.equ PRRR, 0xff0a81a8
138:.equ NMRR, 0x40e040e0
I (wrongly?) assume, 2level is related to the ones, calculated by 
pmap_set_tex.
Narrowing down the inconsistency among values found in Linux kernel and 
calculated here, I came to the result that the type of inner cache, tuned 
for first value of tex_classes lut ruins memory:
TEX(PRRR_MEM, NMRR_WB_WA, NMRR_WB_WA, 0), /* 0 - ATTR_WB_WA */ - zeroes 
stack mem on TLB flush
TEX(PRRR_MEM, NMRR_WB, NMRR_WB_WA, 0), /* 0 - ATTR_WB_WA */ - zeroes stack 
mem on TLB flush
TEX(PRRR_MEM, NMRR_WT, NMRR_WB_WA, 0), /* 0 - ATTR_WB_WA */ - DOES NOT 
zeroes stack mem on TLB flush
TEX(PRRR_MEM, NMRR_NC, NMRR_WB_WA, 0), /* 0 - ATTR_WB_WA */ - DOES NOT 
zeroes stack mem on TLB flush
Need further investigation....
Any clues?
Stan
Stanislav Silnicki wrote:
STM32MP15x port current progress:
... it took some time to solder down the probe and establish conveniences 
with remote kernel debug...
So far, I need to understand, whither or not I face an expected behavior?
It looks like tlb_flush_all_local() 
(https://github.com/freebsd/freebsd-src/blob/525ecfdad597980ea4cd59238e24c8530dbcd31d/sys/arm/arm/pmap-v6.c#L512C14-L512C14)

destroys stack memory, where return address is stored, so when stored lr is 
poped into pc, it is 0x0....
here is a dump of my debug session around that code:
508 cp15_prrr_set(prrr);
(kgdb) i f
Stack level 0, frame at 0xc0784598:
pc = 0xc0557b44 in pmap_set_tex (/usr/src/sys/arm/arm/pmap-v6.c:508); saved 
pc = 0xc055254c
called by frame at 0xc07847e0
source language c.
Arglist at 0xc0784590, args: 
Locals at 0xc0784590, Previous frame's sp is 0xc0784598
Saved registers:
r4 at 0xc0784580, r5 at 0xc0784584, r6 at 0xc0784588, r10 at 0xc078458c, 
r11 at 0xc0784590, lr at 0xc0784594
(kgdb) x 0xc0784594
0xc0784594: 0xc055254c
(kgdb) n
stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, implementor 41
stm32mp15x.cpu1 rev 5, partnum c07, arch f, variant 0, implementor 41
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x600001f3 pc: 0x0000060e
MMU: disabled, D-Cache: disabled, I-Cache: enabled
509 cp15_nmrr_set(nmrr);
(kgdb) x 0xc0784594
0xc0784594: 0xc055254c
(kgdb) n
stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, implementor 41
stm32mp15x.cpu1 rev 5, partnum c07, arch f, variant 0, implementor 41
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x600001f3 pc: 0x0000060e
MMU: disabled, D-Cache: disabled, I-Cache: enabled
512 tlb_flush_all_local();
(kgdb) x 0xc0784594
0xc0784594: 0xc055254c
(kgdb) si
stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, implementor 41
stm32mp15x.cpu1 rev 5, partnum c07, arch f, variant 0, implementor 41
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x600001f3 pc: 0x0000060e
MMU: disabled, D-Cache: disabled, I-Cache: enabled
_CP15_TLBIALL () at /usr/src/sys/arm/include/cpu-v6.h:147
147 _WF0(_CP15_TLBIALL, CP15_TLBIALL) /* Invalidate entire unified TLB */
(kgdb) si
stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, implementor 41
stm32mp15x.cpu1 rev 5, partnum c07, arch f, variant 0, implementor 41
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x600001f3 pc: 0x0000060e
MMU: disabled, D-Cache: disabled, I-Cache: enabled
tlb_flush_all_local () at /usr/src/sys/arm/include/cpu-v6.h:340
340 dsb();
(kgdb) x 0xc0784594
0xc0784594: 0x00000000
(kgdb) si
stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, implementor 41
stm32mp15x.cpu1 rev 5, partnum c07, arch f, variant 0, implementor 41
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x600001f3 pc: 0x0000060e
MMU: disabled, D-Cache: disabled, I-Cache: enabled
pmap_set_tex () at /usr/src/sys/arm/arm/pmap-v6.c:513
513 }
(kgdb) si
Polling target stm32mp15x.cm4 failed, trying to reexamine
Failed to read memory at 0xe000ed00
Examination failed, GDB will be halted. Polling again in 100ms
Program stopped.
pmap_set_tex () at /usr/src/sys/arm/arm/pmap-v6.c:513
513 }
(kgdb) 
The address, referenced from error message (0xe000ed00) is mapped by STM's 
address space to "DDR extension (CA7 only) or Debug" with debug assigned to 
Cortex-M4 coprocessor.
I'm not sure, that it is an unexpected behav. (it is my first attempt to 
port to armv7), so need an advice.
Any?
Stan
Stanislav Silnicki wrote:
my current progress of STM32MP1xx port attempt:
Basically, both options to boot ubldr and then kernel in SPL & TF-A modes 
of u-boot are supported.
Initially, when I stated from TF-A options (security supervision from arm's 
trusted firmware os) I stuck with 
this line: 
https://github.com/freebsd/freebsd-src/blob/501bdf3001190686bf55d9d333cb533858c2cf2f/sys/arm/arm/locore-v6.S#L371

control does not seem to reach beyond that point. I tried to enable the led 
with this assembly, which works anywhere else:
/* prepare to use LED @ GPIOA 13*/
ldr r0, =0x50002014
ldr r1, =0xFFFFDFFF
ldr r2, [r0]
and r2, r1, r2
/* Enable caches. */
mrc CP15_SCTLR(r7)
orr r7, #CPU_CONTROL_DC_ENABLE
orr r7, #CPU_CONTROL_IC_ENABLE
orr r7, #CPU_CONTROL_BPRD_ENABLE
mcr CP15_SCTLR(r7)
DSB
/* turn on GPIO LED */
str r2, [r0]
Control passes if I disable data cache ORing instruction, but then hangs on 
setting of new TTB couple lines below...
I thought it was due to security access control from TF-A, but it behaves 
the same w/o.
Any clues or expertise from other platforms are highly appreciated.
Stan
Stanislav Silnicki wrote:
Hello, I need an advice on the intial addresses layout when booting the 
kernel.
As I understand, ubldr is the proper way to boot the kernel. 
What is the correct address to load it, given that I wand to keep default 
KERNVIRTADDR (=0xc0000000) intact?
The u-boot loads ubldr this way in my current setup:
// FreeBSD version of environment
env_set("baudrate", "115200");
env_set("console", "ttyS0,115200");
env_set("stderr", "serial");
env_set("stdin", "serial");
env_set("stdout", "serial");
env_set("autostart", "yes");
env_set("loaderdev", "mmc 1"); // fbsd's ubldr treats our second mmc at 
index 1
env_set("bootcmd", "fatload mmc 2 0xc0000000 ubldr && bootelf");
then ubldr leads the kernel from mmc and passes it the control:
Loading kernel...
/boot/kernel/kernel text=0x1b4 text=0x5b8530 text=0x17d91c data=0xa4a60 
data=0x0+0x20c000 0x4+0x88810+0x4+0xe9d98|
Loading configured modules...
can't find '/boot/entropy'
can't find '/etc/hostid'
Using DTB compiled into kernel.
Kernel entry at 0xc0400200...
Kernel args: (null)
Then I could correctly pass the init of MMU and get into translated mode 
only with setting KERNVIRTADDR = 0xc4000000. It looks like kernel and 
loader clash somehow. 
So, just need to understand what is best option to load ubldr to? Will it 
affect further routines?
Stan
Stanislav Silnicki wrote:
OK, I got the idea!
As I realize, there is a minor bug in dtc, which affects compilation of 
stm's originated DTBs. I think it is best to make a PR into 
https://github.com/davidchisnall/dtc, which I'm discussing with repo owner 
already. Please tell me, that I need to post PR into FBSD source tree if it 
is a shorter way for my fix.
My current setup is based upon QBASE1 from Karo-Electronics, but there is 
no goal to support/debug all peripherals, only a subset, including USB, 
I2C, SDMMC, DSI (and GPU, if lucky).
https://www.karo-electronics.com/fileadmin/download/Datasheets/QSMP-QSBASE1-Evalkit.pdf

The vendor (Karo) supports only their Yocto based Linux distro. I spent 
some time to prepare TF-A & Uboot, capable with booting from SD card (that 
is more robust approach, as I think). STM does not promote/support 
non-secure boot approach with SPL, they insist to use TF-A or OPTEE, so it 
is pretty cumbersome path, I had to pass. I think, it will be easier for me 
to prepare some sort of README to support customization of uboot for STM's 
port and dig it somewhere in SRC rather than ; ; ; ; ;try to post PR's in 
those repos... Not sure, anyway.
So far I'm struggling with uart and early_printf...
I'm mixing this activity with my current occupation, so I don't expect 
rapid progress.
Thank you for clarifications! I'll try to do my best!
Stan
Oskar Holmlund wrote:
Hi Stanislav,
Please resend your message and CC the arm mailing list. It might be 
interesting for someone in the future ( 
https://lists.freebsd.org/archives/freebsd-arm/ ) otherwise they all think 
you stopped working on the STM32 port.
You should always keep one terminal up n running % man 9 style :)
https://wiki.freebsd.org/Phabricator will give you some information.
Its good if you get to know the people active in the ARM area, just keep an 
eye on the mailinglist and you will notice some names. If you have the 
opportunity to join any of the conference (eurobsdcon.org, asiabsdcon.org, 
bsdcan.org) to get to know even more people.
Join the IRC, for example on efnet #bsdmips is a good channel for ARM 
stuff.
Start with small changes and you will get feedback. From there the 
experience will grow and you will get into it all.
Correct, the device-tree import is from the Linux kernel and there is no 
prior work for the STM32MP15 SoCs. I cant find anything about the 
STM32MP15x in Net or OpenBSD either.
Probably because the STM32MP15 is the first(?) application SoC from ST?
1) hum? Do you need that for the reviews? It should be in SRC
2) Target branch is probably main.
3) It depends, if your custom board is opensource and availble around the 
globe through mouser/farnell/.. I dont see any problem. Otherwise pick the 
board from ST that you used as a reference when you developed the custom 
board.
For example in my day job we have a custom board built around the 
octavosystems OSD3358 that can be found in pocketbeagle/beaglebone black 
wifi. So the code thats goes into the FreeBSD project are all tested on the 
beaglebone boards. The stuff we need for our custom board like the device 
tree is keept as local patches in our inhouse build process.
//Oskar
2023-10-28 14:25 skrev Stanislav Silnicki:
Hi Oskar!
 > can you point me some guidelines to help myself to fit development
process? I'm sure, there is mature dev. culture around FBSD and I'd be
happy to make my contribution coherently from the beginning.
 > So far I'm done with setup of my account at reviews (keys, 2FA, etc.)
 > As I understand, there is no considerable progress with STM32,
although I have noticed, there are some DTS imported into the project.
 > > Indeed, several major questions:
1. repo url?
2. tagret branch for patches for stm32 hw?
3. is it possible to target custom board from our project, or I have
to ensure support for all dev. boards, provided by STM?
 > Thank you,Stan
 > Oskar Holmlund wrote:
 >> 2023-10-27 22:33 skrev Stanislav Silnicki:
quote class="gmail_quote" type="cite" style="margin:0 0 0 
.8ex;border-left:1px #ccc solid;padding-left:1ex">
 >>> Hello!
I'm porting onto the subject hardware. So far the progress is
modest,
while the system boots (without console although...)
One of major issues is hardcoded value inside locore-v6.S. Here
is my
relevant post:
 >> > 
https://community.st.com/t5/stm32-mpus-embedded-software/freebsd-port-for-mp157c/td-p/601438

[1]
What is the best way to proceed? Patch, vendor kernel build,
something
else?
Stan
 > Links:
------
 >> [1] >
 > 
https://community.st.com/t5/stm32-mpus-embedded-software/freebsd-port-for-mp157c/td-p/601438
 
>> Hi Stan,
 >> Upload your patch to reviews.freebsd.org
 >> Love to see your other patches for the STM32MP15x.
kquote>
 >> //Oskar
<
<
 >
</block

------sinikael-?=_1-17049058292700.7558567376711265
Content-Type: text/html; format=flowed
Content-Transfer-Encoding: 7bit

<html><head></head><body><div>
                    
     
     
       
         <meta charset="utf-8">
       
       
         <div id="compose-body-wrapper" dir="auto"><div dir="auto">WIP 
status:</div><div dir="auto"><br></div><div dir="auto">So far 
implemented:</div><div dir="auto">- u-boot config + DTS with SPL (only 
secure mode). A port is prepared and compiled, while pending dev. 
testing.</div><div dir="auto">- uart: EARLY_PRINTF, low-level driver 
interface (full console). high level methods are pending implementation, 
though seem trivial.</div><div dir="auto">- SMP: second core is 
started</div><div dir="auto"><br></div><div dir="auto">Pending:</div><div 
dir="auto">- sd/mmc (a must)</div><div dir="auto">- rtc (seems 
trivial)</div><div dir="auto">- net if driver (optional?)</div><div 
dir="auto"><br></div><div dir="auto">Couple questions to 
community:</div><div dir="auto">1. Shall I consider any other parts to port 
to be able to pass phabricator &amp; review?</div><div dir="auto" 
id="tmjah_g_1299">2. My current board with STM32MP1 (Karo's Qbase4 + 
QSMP1570 module) does not have sd card connector soldered.</div><div 
dir="auto" id="tmjah_g_1299">May I consider a description in port's README 
of how to solder an SD Card to be able to boot from one? There is also an 
option to describe how to flash onboard 4Gb emmc chip.</div><div dir="auto" 
id="tmjah_g_1299"><br></div><div dir="auto" id="tmjah_g_1299">A special 
question about 32bit systems discontinuty: is it mainly a warning for i386 
or there is a real plan to abandon armv7?</div><div dir="auto" 
id="tmjah_g_1299"><br></div><div dir="auto" 
id="tmjah_g_1299">Stan</div><br></div><div class="replyHeader" 
dir="auto">Stanislav Silnicki wrote:</div><br><br><div><blockquote 
cite="mid:689d44174e0f9.1733c7a78ebda@mailgate.us" type="cite" 
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div> 
                          <meta charset="utf-8">
                       <div>
                                              <meta charset="utf-8">
                       <div id="compose-body-wrapper" dir="auto"><div 
dir="auto">Reading TCMTR shows 0x0, so is looks like TCM is not implemented 
in my case...</div><div dir="auto"><br></div></div><div class="replyHeader" 
dir="auto">Stanislav Silnicki wrote:</div><br><br><div><blockquote 
cite="mid:efc9993b489d1.5c9a553874833@mailgate.us" type="cite" 
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
                                              <meta charset="utf-8">
                       <div id="compose-body-wrapper" dir="auto"><div 
dir="auto"><span style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">if&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">you&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">mean&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">SRAM,&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">stm32mp1&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">has&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;">some 
@&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">0x20000000.&nbsp;</span><wbr style="font-family: &quot;Open 
Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
&quot;Helvetica Neue&quot;, Arial, sans-serif, &quot;Apple Color 
Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; 
font-size: 14px;"><span style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">In&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">my&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">current&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">setup&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">with&nbsp;&nbsp;</span><wbr style="font-family: &quot;Open 
Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
&quot;Helvetica Neue&quot;, Arial, sans-serif, &quot;Apple Color 
Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; 
font-size: 14px;"><span style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">ftfp&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">boot,&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">it&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">is&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">used&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">to&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">load&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;">SPL+</span><wbr 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">uboot,&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">then,&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">kernel&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">is&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">loaded&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">into&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">default&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">kernel&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;">space 
@&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">0xc0000000,&nbsp;</span><wbr style="font-family: &quot;Open 
Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
&quot;Helvetica Neue&quot;, Arial, sans-serif, &quot;Apple Color 
Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; 
font-size: 14px;"><span style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">where&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">DRAM&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">starts.&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">At&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">the&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">_start&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">kernel's&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">entry&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">sp&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">is&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">something&nbsp;</span><wbr style="font-family: &quot;Open 
Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
&quot;Helvetica Neue&quot;, Arial, sans-serif, &quot;Apple Color 
Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; 
font-size: 14px;"><span style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">about&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">0xdd.....,&nbsp;</span><wbr style="font-family: &quot;Open 
Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, 
&quot;Helvetica Neue&quot;, Arial, sans-serif, &quot;Apple Color 
Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; 
font-size: 14px;"><span style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">so&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">it&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">uses&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">DRMA&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">as&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">well.&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">Where&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">can&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">I&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">find&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">traces&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">of&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">TCM&nbsp;</span><wbr style="font-family: &quot;Open Sans&quot;, 
-apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica 
Neue&quot;, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe 
UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 14px;"><span 
style="font-family: &quot;Open Sans&quot;, -apple-system, 
BlinkMacSystemFont, &quot;Segoe UI&quot;, &quot;Helvetica Neue&quot;, 
Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI 
Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 
14px;">usage?</span><br></div><div dir="auto"><br></div></div><div 
class="replyHeader" dir="auto">John F Carr 
wrote:</div><br><br><div><blockquote 
cite="mid:41EBB5DE-EB46-435A-98FC-9017A2CE3B10@mit.edu" type="cite" 
style="margin:0 0 0 .8ex;border-left:1px #ccc 
solid;padding-left:1ex"><div>Are you using a chip where some memory can be 
mapped as TCM or cache?</div><div>Trying to use the memory both ways could 
cause problems.</div><div><br></div><br><block<div>quote 
class="gmail_quote" type="cite" style="margin:0 0 0 .8ex;border-left:1px 
#ccc solid;padding-left:1ex"&gt;<div> On Nov 18, 2023, at 19:46, Stanislav 
Silnicki &lt;stanislav.silnicki@mailgate.us&gt; wrote:</div><div> 
</div><div> The root cause of zeroed stack in my setup with STM32MP157 
seems to be in the TEX remapping registers values, calculated by&nbsp; 
pmap_set_tex(void). It can be a wrong assumption, as I'm not sure of any 
hardware (OTP/Security) tunings, that might be in effect....</div><div> 
</div><div> Blindly copied values for PRRR &amp; NMRR registers from Linux 
kernel (6.1.28), supplied by STM in their distribution I could avoid the 
trouble with zeroed stack memory. The hardcoded values are:</div><div> rg 
".equ\s+(PR|NM)RR" arch/arm/mm/*</div><div> 
arch/arm/mm/proc-v7-3level.S</div><div> 110:.equ PRRR, 0xeeaa4400 @ 
MAIR0</div><div> 111:.equ NMRR, 0xff000004 @ MAIR1</div><div> </div><div> 
arch/arm/mm/proc-v7-2level.S</div><div> 137:.equ PRRR, 
0xff0a81a8</div><div> 138:.equ NMRR, 0x40e040e0</div><div> </div><div> I 
(wrongly?) assume, 2level is related to the ones, calculated by 
pmap_set_tex.</div><div> </div><div> Narrowing down the inconsistency among 
values found in Linux kernel and calculated here, I came to the result that 
the type of inner cache, tuned for first value of tex_classes lut ruins 
memory:</div><div> </div><div> TEX(PRRR_MEM, NMRR_WB_WA,&nbsp; &nbsp; 
NMRR_WB_WA, 0),&nbsp; /* 0 - ATTR_WB_WA */ - zeroes stack mem on TLB 
flush</div><div> </div><div> TEX(PRRR_MEM, NMRR_WB,&nbsp; &nbsp; 
NMRR_WB_WA, 0),&nbsp; /* 0 - ATTR_WB_WA */ - zeroes stack mem on TLB 
flush</div><div> TEX(PRRR_MEM, NMRR_WT,&nbsp; &nbsp; NMRR_WB_WA, 0),&nbsp; 
/* 0 - ATTR_WB_WA */ - DOES NOT zeroes stack mem on TLB flush</div><div> 
TEX(PRRR_MEM, NMRR_NC,&nbsp; &nbsp; NMRR_WB_WA, 0),&nbsp; /* 0 - ATTR_WB_WA 
*/ - DOES NOT zeroes stack mem on TLB flush</div><div> </div><div> Need 
further investigation....</div><div> Any clues?</div><div> </div><div> 
Stan</div><div> </div><div> Stanislav Silnicki wrote:</div><div> 
</div><br><blockquote class="gmail_quote" type="cite" style="margin:0 0 0 
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div> STM32MP15x port 
current progress:</div><div> </div><div> ... it took some time to solder 
down the probe and establish conveniences with remote kernel 
debug...</div><div> </div><div> So far, I need to understand, whither or 
not I face an expected behavior?</div><div> </div><div> It looks like 
tlb_flush_all_local() 
(https://github.com/freebsd/freebsd-src/blob/525ecfdad597980ea4cd59238e24c8530dbcd31d/sys/arm/arm/pmap-v6.c#L512C14-L512C14)</div><div>; 
destroys stack memory, where return address is stored, so when stored lr is 
poped into pc, it is 0x0....</div><div> </div><div> here is a dump of my 
debug session around that code:</div><div> </div><div> 508 
cp15_prrr_set(prrr);</div><div> (kgdb) i f</div><div> Stack level 0, frame 
at 0xc0784598:</div><div> pc = 0xc0557b44 in pmap_set_tex 
(/usr/src/sys/arm/arm/pmap-v6.c:508); saved pc = 0xc055254c</div><div> 
called by frame at 0xc07847e0</div><div> source language c.</div><div> 
Arglist at 0xc0784590, args: </div><div> Locals at 0xc0784590, Previous 
frame's sp is 0xc0784598</div><div> Saved registers:</div><div>  r4 at 
0xc0784580, r5 at 0xc0784584, r6 at 0xc0784588, r10 at 0xc078458c, r11 at 
0xc0784590, lr at 0xc0784594</div><div> (kgdb) x 0xc0784594</div><div> 
0xc0784594: 0xc055254c</div><div> (kgdb) n</div><div> stm32mp15x.cpu0 rev 
5, partnum c07, arch f, variant 0, implementor 41</div><div> 
stm32mp15x.cpu1 rev 5, partnum c07, arch f, variant 0, implementor 
41</div><div> target halted in Thumb state due to debug-request, current 
mode: Supervisor</div><div> cpsr: 0x600001f3 pc: 0x0000060e</div><div> MMU: 
disabled, D-Cache: disabled, I-Cache: enabled</div><div> 509 
cp15_nmrr_set(nmrr);</div><div> (kgdb) x 0xc0784594</div><div> 0xc0784594: 
0xc055254c</div><div> (kgdb) n</div><div> stm32mp15x.cpu0 rev 5, partnum 
c07, arch f, variant 0, implementor 41</div><div> stm32mp15x.cpu1 rev 5, 
partnum c07, arch f, variant 0, implementor 41</div><div> target halted in 
Thumb state due to debug-request, current mode: Supervisor</div><div> cpsr: 
0x600001f3 pc: 0x0000060e</div><div> MMU: disabled, D-Cache: disabled, 
I-Cache: enabled</div><div> 512 tlb_flush_all_local();</div><div> (kgdb) x 
0xc0784594</div><div> 0xc0784594: 0xc055254c</div><div> (kgdb) 
si</div><div> stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, 
implementor 41</div><div> stm32mp15x.cpu1 rev 5, partnum c07, arch f, 
variant 0, implementor 41</div><div> target halted in Thumb state due to 
debug-request, current mode: Supervisor</div><div> cpsr: 0x600001f3 pc: 
0x0000060e</div><div> MMU: disabled, D-Cache: disabled, I-Cache: 
enabled</div><div> _CP15_TLBIALL () at 
/usr/src/sys/arm/include/cpu-v6.h:147</div><div> 147 _WF0(_CP15_TLBIALL, 
CP15_TLBIALL) /* Invalidate entire unified TLB */</div><div> (kgdb) 
si</div><div> stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, 
implementor 41</div><div> stm32mp15x.cpu1 rev 5, partnum c07, arch f, 
variant 0, implementor 41</div><div> target halted in Thumb state due to 
debug-request, current mode: Supervisor</div><div> cpsr: 0x600001f3 pc: 
0x0000060e</div><div> MMU: disabled, D-Cache: disabled, I-Cache: 
enabled</div><div> tlb_flush_all_local () at 
/usr/src/sys/arm/include/cpu-v6.h:340</div><div> 340 dsb();</div><div> 
(kgdb) x 0xc0784594</div><div> 0xc0784594: 0x00000000</div><div> (kgdb) 
si</div><div> stm32mp15x.cpu0 rev 5, partnum c07, arch f, variant 0, 
implementor 41</div><div> stm32mp15x.cpu1 rev 5, partnum c07, arch f, 
variant 0, implementor 41</div><div> target halted in Thumb state due to 
debug-request, current mode: Supervisor</div><div> cpsr: 0x600001f3 pc: 
0x0000060e</div><div> MMU: disabled, D-Cache: disabled, I-Cache: 
enabled</div><div> pmap_set_tex () at 
/usr/src/sys/arm/arm/pmap-v6.c:513</div><div> 513 }</div><div> (kgdb) 
si</div><div> Polling target stm32mp15x.cm4 failed, trying to 
reexamine</div><div> Failed to read memory at 0xe000ed00</div><div> 
Examination failed, GDB will be halted. Polling again in 100ms</div><div> 
</div><div> Program stopped.</div><div> pmap_set_tex () at 
/usr/src/sys/arm/arm/pmap-v6.c:513</div><div> 513 }</div><div> (kgdb) 
</div><div> </div><div> The address, referenced from error message 
(0xe000ed00) is mapped by STM's address space to "DDR extension (CA7 only) 
or Debug" with debug assigned to Cortex-M4 coprocessor.</div><div> 
</div><div> I'm not sure, that it is an unexpected behav. (it is my first 
attempt to port to armv7), so need an advice.</div><div> Any?</div><div> 
</div><div> Stan</div><div> </div><div> </div><div> Stanislav Silnicki 
wrote:</div><div> </div><br><blockquote class="gmail_quote" type="cite" 
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div> 
my current progress of STM32MP1xx port attempt:</div><div> </div><div> 
Basically, both options to boot ubldr and then kernel in SPL &amp; TF-A 
modes of u-boot are supported.</div><div> </div><div> Initially, when I 
stated from TF-A options (security supervision from arm's trusted firmware 
os) I stuck with </div><div> this line: 
https://github.com/freebsd/freebsd-src/blob/501bdf3001190686bf55d9d333cb533858c2cf2f/sys/arm/arm/locore-v6.S#L371</div><div>; 
</div><div> control does not seem to reach beyond that point. I tried to 
enable the led with this assembly, which works anywhere else:</div><div> 
</div><div> &nbsp;  /* prepare to use LED @ GPIOA 13*/</div><div> &nbsp;  
ldr r0, =0x50002014</div><div> &nbsp;  ldr r1, =0xFFFFDFFF</div><div> 
&nbsp;  ldr r2, [r0]</div><div> &nbsp;  and r2, r1, r2</div><div> 
</div><div> /* Enable caches. */</div><div> mrc CP15_SCTLR(r7)</div><div> 
orr r7, #CPU_CONTROL_DC_ENABLE</div><div> orr r7, 
#CPU_CONTROL_IC_ENABLE</div><div> orr r7, 
#CPU_CONTROL_BPRD_ENABLE</div><div> mcr CP15_SCTLR(r7)</div><div> 
DSB</div><div> </div><div> &nbsp;  /* turn on GPIO LED */</div><div> &nbsp; 
 str r2, [r0]</div><div> </div><div> Control passes if I disable data cache 
ORing instruction, but then hangs on setting of new TTB couple lines 
below...</div><div> </div><div> I thought it was due to security access 
control from TF-A, but it behaves the same w/o.</div><div> </div><div> Any 
clues or expertise from other platforms are highly appreciated.</div><div> 
</div><div> Stan</div><div> </div><div> Stanislav Silnicki 
wrote:</div><div> </div><br><blockquote class="gmail_quote" type="cite" 
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div> 
Hello, I need an advice on the intial addresses layout when booting the 
kernel.</div><div> </div><div> As I understand, ubldr is the proper way to 
boot the kernel. </div><div> What is the correct address to load it, given 
that I wand to keep default KERNVIRTADDR (=0xc0000000) intact?</div><div> 
</div><div> The u-boot loads ubldr this way in my current setup:</div><div> 
</div><div>  // FreeBSD version of environment</div><div>  
env_set("baudrate", "115200");</div><div>  env_set("console", 
"ttyS0,115200");</div><div>  env_set("stderr", "serial");</div><div>  
env_set("stdin", "serial");</div><div>  env_set("stdout", 
"serial");</div><div>  env_set("autostart", "yes");</div><div>  
env_set("loaderdev", "mmc 1"); // fbsd's ubldr treats our second mmc at 
index 1</div><div>  env_set("bootcmd", "fatload mmc 2 0xc0000000 ubldr 
&amp;&amp; bootelf");</div><div> </div><div> then ubldr leads the kernel 
from mmc and passes it the control:</div><div> </div><div> Loading 
kernel...</div><div> /boot/kernel/kernel text=0x1b4 text=0x5b8530 
text=0x17d91c data=0xa4a60 data=0x0+0x20c000 
0x4+0x88810+0x4+0xe9d98|</div><div> Loading configured 
modules...</div><div> can't find '/boot/entropy'</div><div> can't find 
'/etc/hostid'</div><div> Using DTB compiled into kernel.</div><div> Kernel 
entry at 0xc0400200...</div><div> Kernel args: (null)</div><div> 
</div><div> Then I could correctly pass the init of MMU and get into 
translated mode only with setting KERNVIRTADDR = 0xc4000000. It looks like 
kernel and loader clash somehow. </div><div> </div><div> So, just need to 
understand what is best option to load ubldr to? Will it affect further 
routines?</div><div> </div><div> Stan</div><div> </div><div> </div><div> 
Stanislav Silnicki wrote:</div><div> </div><div> </div><br><blockquote 
class="gmail_quote" type="cite" style="margin:0 0 0 .8ex;border-left:1px 
#ccc solid;padding-left:1ex"><div> OK, I got the idea!</div><div> 
</div><div> As I realize, there is a minor bug in dtc, which affects 
compilation of stm's originated DTBs. I think it is best to make a PR into 
https://github.com/davidchisnall/dtc, which I'm discussing with repo owner 
already. Please tell me, that I need to post PR into FBSD source tree if it 
is a shorter way for my fix.</div><div> </div><div> My current setup is 
based upon QBASE1 from Karo-Electronics, but there is no goal to 
support/debug all peripherals, only a subset, including USB, I2C, SDMMC, 
DSI (and GPU, if lucky).</div><div> 
https://www.karo-electronics.com/fileadmin/download/Datasheets/QSMP-QSBASE1-Evalkit.pdf</div><div>; 
</div><div> The vendor (Karo) supports only their Yocto based Linux distro. 
I spent some time to prepare TF-A &amp; Uboot, capable with booting from SD 
card (that is more robust approach, as I think). STM does not 
promote/support non-secure boot approach with SPL, they insist to use TF-A 
or OPTEE, so it is pretty cumbersome path, I had to pass. I think, it will 
be easier for me to prepare some sort of README to support customization of 
uboot for STM's port and dig it somewhere in SRC rather than&nbsp; ; ; ; ; 
;try to post PR's in those repos... Not sure, anyway.</div><div> 
</div><div> So far I'm struggling with uart and early_printf...</div><div> 
</div><div> I'm mixing this activity with my current occupation, so I don't 
expect rapid progress.</div><div> </div><div> Thank you for clarifications! 
I'll try to do my best!</div><div> </div><div> Stan</div><div> </div><div> 
Oskar Holmlund wrote:</div><div> </div><div> </div><br><blockquote 
class="gmail_quote" type="cite" style="margin:0 0 0 .8ex;border-left:1px 
#ccc solid;padding-left:1ex"><div> Hi Stanislav,</div><div> </div><div> 
Please resend your message and CC the arm mailing list. It might be 
interesting for someone in the future ( 
https://lists.freebsd.org/archives/freebsd-arm/ ) otherwise they all think 
you stopped working on the STM32 port.</div><div> </div><div> You should 
always keep one terminal up n running % man 9 style :)</div><div> 
https://wiki.freebsd.org/Phabricator will give you some 
information.</div><div> Its good if you get to know the people active in 
the ARM area, just keep an eye on the mailinglist and you will notice some 
names. If you have the opportunity to join any of the conference 
(eurobsdcon.org, asiabsdcon.org, bsdcan.org) to get to know even more 
people.</div><div> Join the IRC, for example on efnet #bsdmips is a good 
channel for ARM stuff.</div><div> </div><div> Start with small changes and 
you will get feedback. From there the experience will grow and you will get 
into it all.</div><div> </div><div> Correct, the device-tree import is from 
the Linux kernel and there is no prior work for the STM32MP15 SoCs. I cant 
find anything about the STM32MP15x in Net or OpenBSD either.</div><div> 
Probably because the STM32MP15 is the first(?) application SoC from 
ST?</div><div> </div><div> </div><div> 1) hum? Do you need that for the 
reviews? It should be in SRC</div><div> 2) Target branch is probably 
main.</div><div> 3) It depends, if your custom board is opensource and 
availble around the globe through mouser/farnell/.. I dont see any problem. 
Otherwise pick the board from ST that you used as a reference when you 
developed the custom board.</div><div> For example in my day job we have a 
custom board built around the octavosystems OSD3358 that can be found in 
pocketbeagle/beaglebone black wifi. So the code thats goes into the FreeBSD 
project are all tested on the beaglebone boards. The stuff we need for our 
custom board like the device tree is keept as local patches in our inhouse 
build process.</div><div> </div><div> //Oskar</div><div> </div><div> 
2023-10-28 14:25 skrev Stanislav Silnicki:</div><div> </div><br><blockquote 
class="gmail_quote" type="cite" style="margin:0 0 0 .8ex;border-left:1px 
#ccc solid;padding-left:1ex"><div> Hi Oskar!</div><div> &gt; can you point 
me some guidelines to help myself to fit development</div><div> process? 
I'm sure, there is mature dev. culture around FBSD and I'd be</div><div> 
happy to make my contribution coherently from the beginning.</div><div> 
&gt; So far I'm done with setup of my account at reviews (keys, 2FA, 
etc.)</div><div> &gt; As I understand, there is no considerable progress 
with STM32,</div><div> although I have noticed, there are some DTS imported 
into the project.</div><div> &gt; &gt; Indeed, several major 
questions:</div><div> 1. repo url?</div><div> 2. tagret branch for patches 
for stm32 hw?</div><div> 3. is it possible to target custom board from our 
project, or I have</div><div> to ensure support for all dev. boards, 
provided by STM?</div><div> &gt; Thank you,Stan</div><div> &gt; Oskar 
Holmlund wrote:</div><div> &gt;&gt; 2023-10-27 22:33 skrev Stanislav 
Silnicki:</div><div> </div><div> quote class="gmail_quote" type="cite" 
style="margin:0 0 0 .8ex;border-left:1px #ccc 
solid;padding-left:1ex"&gt;</div><div> &gt;&gt;&gt; Hello!</div><div> 
</div><br><blockquote class="gmail_quote" type="cite" style="margin:0 0 0 
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div> 
</div><br><blockquote class="gmail_quote" type="cite" style="margin:0 0 0 
.8ex;border-left:1px #ccc solid;padding-left:1ex"><div> I'm porting onto 
the subject hardware. So far the progress is</div><div> modest,</div><div> 
while the system boots (without console although...)</div><div> One of 
major issues is hardcoded value inside locore-v6.S. Here</div><div> is 
my</div><div> relevant post:</div><div> &gt;&gt; &gt; 
https://community.st.com/t5/stm32-mpus-embedded-software/freebsd-port-for-mp157c/td-p/601438</div><div>; 
[1]</div><div> What is the best way to proceed? Patch, vendor kernel 
build,</div><div> something</div><div> else?</div><div> Stan</div><div> 
</div><div> </div><br></blockquote><div> </div><div> &gt; 
Links:</div><br></blockquote><div> </div><div> ------</div><div> &gt;&gt; 
[1] &gt;</div><div> &gt; 
https://community.st.com/t5/stm32-mpus-embedded-software/freebsd-port-for-mp157c/td-p/601438</div><div>; 
&gt;&gt; Hi Stan,</div><div> &gt;&gt; Upload your patch to 
reviews.freebsd.org</div><div> &gt;&gt; Love to see your other patches for 
the STM32MP15x.</div><div> </div><div> 
kquote&gt;</div><br></blockquote><div> </div><br></blockquote><div> 
&gt;&gt; 
//Oskar</div><br></blockquote><br></blockquote><br></blockquote><br></blockquote><br><div> 
</div><br><br>&lt;<div><br>&lt;<div><div><div><div><div><div>&gt;</div></div></div></div></div></div></div><br></block<div></blockquote></div>
                                  
</div></blockquote></div>
                                  </div>
               </div></blockquote></div>
       
     
   
                   </div></body></html>
------sinikael-?=_1-17049058292700.7558567376711265--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?686297325f0d8.847517e9afdee>