Ok, I made those changes to openbios, here is the output.
> On May 8, 2018, at 6:50 AM, Joe van Tunen <joevt(a)shaw.ca> wrote:
>
> : (debug-feval) ( fcode# -- fcode# )
> \ Address
> fcode-stream 1 - . here u. ." : "
>
> \ Indicate if word is compiled
> state @ 0<> if
> ." (compile) "
> then
> dup fcode>xt cell - lfa2name type
> dup ." [ 0x" . ." ]" cr
> ;
Hi, Openbios !
I try to build a bios sparc32 for qemu.
I use the script "./config/scripts/switch-arch sparc32"
Initializing build tree ok
Creating taget config.mak ok
Creating taget rules.mak ok
Creating config files ok
When I do the "make build-verbose" I get the following error :
"PATH/openbios/arch/sparc32/context.c: In function 'switch_to':
"PATH/openbios/arch/sparc32/context.c:116:5: error: PIC register clobbered by 'l7' in 'asm'
Asm_volatile_("\n\tcall_switch_context"
^~~
Rules.mak:219 « target/arch/sparc32/context.o » failed
Make[1]: *** [target/arch/sparc32/context.o error 1
Makefile:32 target "subdir-sparc32" failed
Make: *** [subdir-sparc32] error 2
I was try to build ppc and sparc64, that's ok, I can boot on my ppc's bios (not on sparc64, I think I need to do another thing).
Do you know what I'm doing wrong for sparc 32 ?
Thanks,
Libre (C=0)
Interne (C=1)
Restreint (C=2)
Confidentiel (C=3)
X
[X]
Arnaud BALARD
Chargé d'Exploitation et d'Affaires
EDF - DPNT - DAIP - UNITEP
AEI - Groupe SIMU
UFPI Bugey
CD 20 - BP 70130
01155 LAGNIEU
arnaud.balard(a)edf.fr
Tél. : 04 37 63 62 72
Un geste simple pour l'environnement, n'imprimez ce message que si vous en avez l'utilité.
Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme à sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse.
Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de votre système, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions également d'en avertir immédiatement l'expéditeur par retour du message.
Il est impossible de garantir que les communications par messagerie électronique arrivent en temps utile, sont sécurisées ou dénuées de toute erreur ou virus.
____________________________________________________
This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval.
If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message.
E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
Bootloaders such as SILO will have already allocated and mapped the memory for
the kernel and initrd before jumping into the kernel, so this patchset does the
same for a kernel/initrd loaded directly by QEMU.
Otherwise if the kernel/initrd grow beyond the default 1:1 memory region mapped
by the PROM then the kernel will panic when clearing the memory on startup.
In order for this to work on SPARC32 then the corresponding QEMU patch at
https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg06635.html must also be
applied.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland(a)ilande.co.uk>
v2:
- Add missing PAGE_ALIGN() macro around the ofmem_map() size parameter
Mark Cave-Ayland (5):
SPARC32: fix obp_arg.argv when no kernel command line specified
SPARC32: mark kernel memory as mapped
SPARC32: mark initrd memory as mapped and in use before booting kernel
SPARC64: mark kernel memory as mapped and in use before booting kernel
SPARC64: mark initrd memory as mapped and in use before booting kernel
arch/sparc32/boot.c | 2 ++
arch/sparc32/openbios.c | 29 ++++++++++++++++++++---------
arch/sparc64/boot.c | 2 ++
arch/sparc64/boot.h | 2 ++
arch/sparc64/openbios.c | 18 +++++++++++++++++-
include/drivers/drivers.h | 2 ++
6 files changed, 45 insertions(+), 10 deletions(-)
--
2.11.0
Bootloaders such as SILO will have already allocated and mapped the memory for
the kernel and initrd before jumping into the kernel, so this patchset does the
same for a kernel/initrd loaded directly by QEMU.
Otherwise if the kernel/initrd grow beyond the default 1:1 memory region mapped
by the PROM then the kernel will panic when clearing the memory on startup.
In order for this to work on SPARC32 then the corresponding QEMU patch at
https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg06635.html must also be
applied.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland(a)ilande.co.uk>
Mark Cave-Ayland (5):
SPARC32: fix obp_arg.argv when no kernel command line specified
SPARC32: mark kernel memory as mapped
SPARC32: mark initrd memory as mapped and in use before booting kernel
SPARC64: mark kernel memory as mapped and in use before booting kernel
SPARC64: mark initrd memory as mapped and in use before booting kernel
arch/sparc32/boot.c | 2 ++
arch/sparc32/openbios.c | 29 ++++++++++++++++++++---------
arch/sparc64/boot.c | 2 ++
arch/sparc64/boot.h | 2 ++
arch/sparc64/openbios.c | 18 +++++++++++++++++-
include/drivers/drivers.h | 2 ++
6 files changed, 45 insertions(+), 10 deletions(-)
--
2.11.0