----- Original Message ----- > From: "John-Mark Gurney" <jmg_at_funkthat.com> > To: "Florian Smeets" <flo_at_smeets.im> > Cc: "Dimitry Andric" <dim_at_freebsd.org>, "Craig Butler" <craig001_at_lerwick.hopto.org>, freebsd-current_at_freebsd.org, > freebsd-sparc64_at_freebsd.org, rdivacky_at_freebsd.org > Sent: Saturday, 1 March, 2014 7:51:58 PM > Subject: Re: HEADS UP: sparc64 backend for llvm/clang imported > > Florian Smeets wrote this message on Sat, Mar 01, 2014 at 16:28 > +0100: > > On 01/03/14 02:16, John-Mark Gurney wrote: > > > Dimitry Andric wrote this message on Fri, Feb 28, 2014 at 20:22 > > > +0100: > > >> > > >> For building the sparc64 kernel, there is one open issue left, > > >> which is > > >> that sys/sparc64/include/pcpu.h uses global register variables, > > >> and this > > >> is not supported by clang. A preliminary patch for this is > > >> attached, > > >> but it may or may not blow up your system, please beware! > > >> > > >> The patch changes the pcpu and curpcb global register variables > > >> into > > >> inline functions, similar to what is done on other > > >> architectures. > > >> However, the current approach is not optimal, and the emitted > > >> code is > > >> slightly different from what gcc outputs. Any improvements to > > >> this > > >> patch are greatly appreciated! > > >> > > >> Last but not least, thanks go out to Roman Divacky for his work > > >> with > > >> llvm/clang upstream in getting the sparc64 backend into shape. > > > > > > Ok, I have a new pcpu patch to try. I have only compile tested > > > it. > > > > > > It is available here: > > > https://www.funkthat.com/~jmg/sparc64.pcpu.patch > > > > > > I've also attached it. > > > > > > Craig, do you mind testing it? > > > > > > > My machine doesn't boot with this patch. > > > > OK boot -v > > Booting... > > jumping to kernel entry at 0xc0088000. > > OF_panic: sparc64_init: cannot find boot CPU node > > Program terminated > > {1} ok > > > > I'm now going to try the version that dim sent. > > Does it boot w/o the patch? Is this a clang built loader/kernel or > a gcc built loader/kernel that you tried the patch on? > > From a quick look at the code, it doesn't look like my patch would > have effected this part of the kernel... > > -- > John-Mark Gurney Voice: +1 415 225 5579 > > "All that I will do, has been done, All that I have, has not." > It's not working here either.. Native base gcc compiled 10-RELEASE + patch results in; FreeBSD/sparc64 bootstrap loader, Revision 1.0 (root_at_snap.freebsd.org, Fri Jan 17 11:27:27 UTC 2014) bootpath="/pci_at_1f,0/pci_at_1/scsi_at_8/disk_at_0,0:a" Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0xafe440 data=0xcbf60+0xd82b0 syms=[0x8+0xc53a0+0x8+0xb7c06] /boot/kernel/zfs.ko text=0x223328 data=0xa4c0+0x17f60 syms=[0x8+0x19788+0x8+0x143eb] loading required module 'opensolaris' /boot/kernel/opensolaris.ko text=0x30d0 data=0x2a8+0x2030 syms=[0x8+0xd68+0x8+0x91c] /boot/kernel/geom_mirror.ko text=0x383f0 data=0x590+0x20 syms=[0x8+0x1680+0x8+0x1191] Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... jumping to kernel entry at 0xc00a0000. Copyright (c) 1992-2014 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 10.0-RELEASE #2: Sat Mar 1 21:40:27 GMT 2014 root_at_v120.lerwick.hopto.org:/usr/obj/usr/src/sys/GENERIC sparc64 gcc version 4.2.1 20070831 patched [FreeBSD] real memory = 1073741824 (1024 MB) avail memory = 1024622592 (977 MB) cpu0: Sun Microsystems UltraSparc-IIe Processor (648.00 MHz CPU) random device not loaded; using insecure entropy panic: trap: illegal instruction (kernel) cpuid = 0 KDB: stack backtrace: #0 0xc0884458 at trap+0x558 Uptime: 1s Automatic reboot in 15 seconds - press a key on the console to abort Rebooting... Resetti LOM event: +12h49m59s host reset Kind Regards Craig ButlerReceived on Sun Mar 02 2014 - 07:41:53 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:47 UTC