On 30.06.2011 04:38, Cui Lei wrote: > I have found the the last version which can boot my machine, it is > the r2348. The r2349 can not boot it. > So I checked out the changelog from 2348 to 2349 : > Ironically I did it because i386-coreboot didn't work in my tests. Could you send me the first 128K of /dev/mem ? Meanwhile you can try i386-multiboot port. > /*************************************************************************************************************/ > === modified file 'ChangeLog' > --- ChangeLog 2010-05-01 12:06:53 +0000 > +++ ChangeLog 2010-05-01 12:32:48 +0000 > @@ -1,5 +1,20 @@ > 2010-05-01 Vladimir Serbinenko <phco...@gmail.com> > > + Use LBIO on coreboot. > + > + * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change > + kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c. > + * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK): > + New declaration. > + * kern/i386/coreboot/init.c (grub_machine_init): Don't call > + grub_machine_mmap_init on coreboot. > + * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle > + GRUB_LINUXBIOS_MEMBER_LINK. > + (grub_machine_mmap_iterate): Fix declaration. > + * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot. > + > +2010-05-01 Vladimir Serbinenko <phco...@gmail.com> > + > Split coreboot and multiboot ports. > > * conf/i386-multiboot.rmk: New file. > > === modified file 'conf/i386-coreboot.rmk' > --- conf/i386-coreboot.rmk 2010-04-10 23:14:31 +0000 > +++ conf/i386-coreboot.rmk 2010-05-01 12:32:48 +0000 > @@ -10,7 +10,7 @@ > kernel_img_SOURCES = kern/i386/coreboot/startup.S \ > kern/i386/misc.S \ > kern/i386/coreboot/init.c \ > - kern/i386/multiboot_mmap.c \ > + kern/i386/coreboot/mmap.c \ > kern/i386/halt.c \ > kern/main.c kern/device.c \ > kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \ > > === modified file 'include/grub/i386/coreboot/memory.h' > --- include/grub/i386/coreboot/memory.h 2008-11-20 20:30:24 +0000 > +++ include/grub/i386/coreboot/memory.h 2010-05-01 12:32:48 +0000 > @@ -44,8 +44,9 @@ > > struct grub_linuxbios_table_item > { > -#define GRUB_LINUXBIOS_MEMBER_UNUSED 0 > -#define GRUB_LINUXBIOS_MEMBER_MEMORY 1 > +#define GRUB_LINUXBIOS_MEMBER_UNUSED 0x00 > +#define GRUB_LINUXBIOS_MEMBER_MEMORY 0x01 > +#define GRUB_LINUXBIOS_MEMBER_LINK 0x11 > grub_uint32_t tag; > grub_uint32_t size; > }; > > === modified file 'kern/i386/coreboot/init.c' > --- kern/i386/coreboot/init.c 2010-02-06 23:52:31 +0000 > +++ kern/i386/coreboot/init.c 2010-05-01 12:32:48 +0000 > @@ -117,7 +117,9 @@ > return 0; > } > > +#ifdef GRUB_MACHINE_MULTIBOOT > grub_machine_mmap_init (); > +#endif > grub_machine_mmap_iterate (heap_init); > > grub_tsc_init (); > > === modified file 'kern/i386/coreboot/mmap.c' > --- kern/i386/coreboot/mmap.c 2008-08-17 16:32:18 +0000 > +++ kern/i386/coreboot/mmap.c 2010-05-01 12:32:48 +0000 > @@ -57,13 +57,23 @@ > (long) table_header->size); > for (; table_item->size; > table_item = (grub_linuxbios_table_item_t) ((long) table_item > + (long) table_item->size)) > - if (hook (table_item)) > - return 1; > + { > + if (table_item->tag == GRUB_LINUXBIOS_MEMBER_LINK > + && check_signature ((grub_linuxbios_table_header_t) > (grub_addr_t) > + *(grub_uint64_t *) (table_item + 1))) > + { > + table_header = (grub_linuxbios_table_header_t) (grub_addr_t) > + *(grub_uint64_t *) (table_item + 1); > + goto signature_found; > + } > + if (hook (table_item)) > + return 1; > + } > > return 0; > } > > -void > +grub_err_t > grub_machine_mmap_iterate (int NESTED_FUNC_ATTR (*hook) > (grub_uint64_t, grub_uint64_t, grub_uint32_t)) > { > mem_region_t mem_region; > > === modified file 'kern/i386/coreboot/startup.S' > --- kern/i386/coreboot/startup.S 2009-12-24 14:09:06 +0000 > +++ kern/i386/coreboot/startup.S 2010-05-01 12:32:48 +0000 > @@ -66,10 +66,12 @@ > .long -0x1BADB002 - MULTIBOOT_MEMORY_INFO > > codestart: > +#ifdef GRUB_MACHINE_MULTIBOOT > cmpl $MULTIBOOT_BOOTLOADER_MAGIC, %eax > jne 0f > movl %ebx, EXT_C(startup_multiboot_info) > 0: > +#endif > > /* initialize the stack */ > movl $GRUB_MEMORY_MACHINE_PROT_STACK, %esp > > /***********************************************************************************************************************/ > > I guess it may be because the file "kern/i386/coreboot/mmap.c", but it > has too much diffs with the multiboot_mmap.c > and I am not familiar with the mmap at all, so I don't know how to > found out the causes. > > Rock. > >> On 28.06.2011 12:02, Cui Lei wrote: >>> Sorry , I don't know what the meaning of the "bisect" and how to do? >>> Could you tell me some message in detail ? >> You take a revision which doesn't work (1.99rc2 = r3229) and a working >> one (1.98 = r2249). Then you try a revision in the middle, e.g. r2749. >> If it works the error is in the range 2749..3229, otherwise in >> 2249..2749, then you try a revision inside this range and in 10 steps >> you'll have the exact revision which causes your problem. >>> Thanks a lot. >>> >>> BRs, >>> >>> Rock. >>> >>>> On 28.06.2011 10:45, Rock Cui wrote: >>>>> I had tried to use the grub1.99rc2 as a payload of coreboot at the >>>>> beginning, but it can not boot my machine, >>>> Could you try to bisect? Recent bzr worked fine in qemu+coreboot. Your >>>> machine may present some special aspect and bisect is probably the >>>> fastest way in your case. >>>>> so I changed to 1.98 >>>> As I said USB support in 1.98 wasn't good enough. Basically it worked >>>> only in qemu. >>>>> , then booting succeed. I want to insmod the uhci.mod and usbms.mod to >>>>> support USB, >>>>> but they are not exit in my build folder. If I run "configure" with >>>>> "--with-platform=pc", they will be there, but >>>>> with "--with-platform=coreboot", I can not found them. I don't know >>>>> what should I do to get them for i386-coreboot, so I use the two >>>>> modules which were built with "--with-platform=pc" in my payload.elf. >>>> USB modules weren't enabled in 1.98 on coreboot. >>>>> Surprising, they can be insmoded and run in the grub-shell , but >>>>> unfortunately, I got those logs, they can not >>>>> work. >>>> it's already surprising they didn't crash GRUB altogether. >>>> >>>> >>>> >>>> _______________________________________________ >>>> Grub-devel mailing list >>>> Grub-devel@gnu.org >>>> https://lists.gnu.org/mailman/listinfo/grub-devel >>> _______________________________________________ >>> Grub-devel mailing list >>> Grub-devel@gnu.org >>> https://lists.gnu.org/mailman/listinfo/grub-devel >> >> >> _______________________________________________ >> Grub-devel mailing list >> Grub-devel@gnu.org >> https://lists.gnu.org/mailman/listinfo/grub-devel > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel
-- Regards Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel