All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrei Borzenkov <arvidjaar@gmail.com>
To: Mark H Weaver <mhw@netris.org>,
	bug-grub@gnu.org,
	 The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: yeeloong: cs5536 (Geode companion) not working in grub master
Date: Mon, 17 Aug 2015 21:02:28 +0300	[thread overview]
Message-ID: <55D221B4.9080906@gmail.com> (raw)
In-Reply-To: <87io8g1p8u.fsf@netris.org>

15.08.2015 19:38, Mark H Weaver пишет:
> I'm attempting to get grub working on the Lemote Yeeloong 8101B
> (Loongson 2F) as a second-stage bootloader from PMON.
>
> I have grub-2.02-beta2-499-g4fe8e6d mostly working, with one exception:
> none of the devices on the cs5536 (Geode companion) are accessible,
> which unfortunately includes the IDE interface for the internal disk.
>

As far as I understand code, if GRUB wants to have cs5536 and does not 
find it it stops. If you enter GRUB it means it skipped cs5536 
initialization. According to code, it can happen only if 
grub_arch_memsize != 0. I do not see where GRUB itself sets it before 
this check. So my only guess that PMON (whatever it is) fills in this 
field in GRUB header. We could add debug print to verify this.

> This grub is able to access filesystems from a thumb drive plugged into
> one of the USB ports: the one next to the ethernet jack, which is the
> one that is not connected to the cs5536.  Grub is unable to access the
> other two USB ports, which are connected to the cs5536.
>
> I'm judging what disks are accessible based on tab completion, trying
> various partition names like (hd0,msdos1) (ata0,msdos1), and also using
> the 'search' command.
>
> lspci from grub prints:
>
>    00:02.0 10ec:8139 [0200] Ethernet Controller
>    00:03.0 126f:0712 [0300] VGA Controller
>    00:04.0 1033:0035 [0c03] USB Controller [PI 10]
>    00:04.1 1033:00e0 [0c03] USB Controller [PI 20]
>    00:09.0 1022:208f [ff00]
>

This is correct; it is the PCI ID that GRUB expects.

> whereas "lspci -nn" from my booted system reports:
>
>    00:07.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
>    00:08.0 VGA compatible controller [0300]: Silicon Motion, Inc. SM712 LynxEM+ [126f:0712] (rev b0)
>    00:09.0 USB controller [0c03]: NEC Corporation OHCI USB Controller [1033:0035] (rev 44)
>    00:09.1 USB controller [0c03]: NEC Corporation uPD72010x USB 2.0 Controller [1033:00e0] (rev 05)
>    00:0e.0 ISA bridge [0601]: AMD [Advanced Micro Devices, Inc.] CS5536 [Geode companion] ISA [1022:2090] (rev 03)
>    00:0e.2 IDE interface [0101]: AMD [Advanced Micro Devices, Inc.] CS5536 [Geode companion] IDE [1022:209a] (rev 01)
>    00:0e.3 Multimedia audio controller [0401]: AMD [Advanced Micro Devices, Inc.] CS5536 [Geode companion] Audio [1022:2093] (rev 01)
>    00:0e.4 USB controller [0c03]: AMD [Advanced Micro Devices, Inc.] CS5536 [Geode companion] OHC [1022:2094] (rev 02)
>    00:0e.5 USB controller [0c03]: AMD [Advanced Micro Devices, Inc.] CS5536 [Geode companion] EHC [1022:2095] (rev 02)
>
> I built this grub from GNU Guix, which uses stock GCC 4.9.3 and binutils
> 2.25 configured for the N32 ABI.  I passed TARGET_CFLAGS="-Os -mabi=32"
> and TARGET_CCASFLAGS="-mabi=32" to configure.  Here's the command I used
> to build the grub image:
>
>    grub-mkimage --prefix='(hd0,0)/boot/grub'                            \
>      --config=grub.elf.conf --output=grub.elf                           \
>      --format=mipsel-yeeloong-elf --verbose ata part_msdos ext2 reboot  \
>      halt lspci ohci usbtest usbms linux fat xfs part_gpt multiboot2    \
>      minicmd configfile gcry_md5 hashsum echo search
>
> where grub.elf.conf contains:
>
>    set root=hd0,0
>    set prefix=($root)/boot/grub
>
> If it would help, I can provide instructions for how to reproduce the
> same toolchain and/or grub using GNU Guix.
>
> Any ideas or suggestions would be much appreciated.
>
>        Mark
>
> _______________________________________________
> Bug-grub mailing list
> Bug-grub@gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-grub
>



       reply	other threads:[~2015-08-17 18:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87io8g1p8u.fsf@netris.org>
2015-08-17 18:02 ` Andrei Borzenkov [this message]
2015-08-19  8:44   ` yeeloong: cs5536 (Geode companion) not working in grub master Mark H Weaver
     [not found] ` <CAA91j0XWGssTGgUrcHuEY1mgs9EDV+vpqhDpjzjphSW8yU_pOA@mail.gmail.com>
2015-08-19 16:18   ` Mark H Weaver

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55D221B4.9080906@gmail.com \
    --to=arvidjaar@gmail.com \
    --cc=bug-grub@gnu.org \
    --cc=grub-devel@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.