Message ID | 1366978377-16823-5-git-send-email-dingel@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On 26.04.2013, at 14:12, Dominik Dingel wrote: > Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> > > Check if the BIOS is available before loading it into the memory. > Create the needed Links for build. > > Add a if the BIOS is available, also add the needed links for the build > process. > > diff --git a/configure b/configure > index 19777de..2bbbd54 100755 > --- a/configure > +++ b/configure > @@ -4541,6 +4541,7 @@ for bios_file in \ > $source_path/pc-bios/*.aml \ > $source_path/pc-bios/*.rom \ > $source_path/pc-bios/*.dtb \ > + $source_path/pc-bios/*.img \ > $source_path/pc-bios/openbios-* \ > $source_path/pc-bios/palcode-* > do > diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c > index 9758529..36daa67 100644 > --- a/hw/s390x/ipl.c > +++ b/hw/s390x/ipl.c > @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) > } > > bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); > + if (bios_filename == NULL) { > + hw_error("could not find stage1 bootloader\n"); > + } > + > bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, > NULL, 1, ELF_MACHINE, 0); > if (bios_size == -1UL) { > diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile > index ad55a14..1e6ab1e 100644 > --- a/pc-bios/s390-ccw/Makefile > +++ b/pc-bios/s390-ccw/Makefile > @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) > > s390-ccw.img: s390-ccw.elf > $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") > + ln -s -f `pwd`/$@ ../$@ I don't think we do this for any other blobs, so why should we here? Alex > > clean: > rm -f *.o *.d *.img *.elf *~ > -- > 1.7.9.5 >
On Fri, 26 Apr 2013 17:23:18 +0200 Alexander Graf <agraf@suse.de> wrote: > > On 26.04.2013, at 14:12, Dominik Dingel wrote: > > > Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> > > > > Check if the BIOS is available before loading it into the memory. > > Create the needed Links for build. > > > > Add a if the BIOS is available, also add the needed links for the build > > process. > > > > diff --git a/configure b/configure > > index 19777de..2bbbd54 100755 > > --- a/configure > > +++ b/configure > > @@ -4541,6 +4541,7 @@ for bios_file in \ > > $source_path/pc-bios/*.aml \ > > $source_path/pc-bios/*.rom \ > > $source_path/pc-bios/*.dtb \ > > + $source_path/pc-bios/*.img \ > > $source_path/pc-bios/openbios-* \ > > $source_path/pc-bios/palcode-* > > do > > diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c > > index 9758529..36daa67 100644 > > --- a/hw/s390x/ipl.c > > +++ b/hw/s390x/ipl.c > > @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) > > } > > > > bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); > > + if (bios_filename == NULL) { > > + hw_error("could not find stage1 bootloader\n"); > > + } > > + > > bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, > > NULL, 1, ELF_MACHINE, 0); > > if (bios_size == -1UL) { > > diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile > > index ad55a14..1e6ab1e 100644 > > --- a/pc-bios/s390-ccw/Makefile > > +++ b/pc-bios/s390-ccw/Makefile > > @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) > > > > s390-ccw.img: s390-ccw.elf > > $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") > > + ln -s -f `pwd`/$@ ../$@ > > I don't think we do this for any other blobs, so why should we here? > > Alex In case we are not running on the s390 platform we need the link to the shipped binary. But if we are running on the s390 platform we like to build the rom in the s390-ccw build folder. After that we either copy or link it to the pc-bios location. I personally preferred the link version. Dominik > > > > clean: > > rm -f *.o *.d *.img *.elf *~ > > -- > > 1.7.9.5 > > >
On 26.04.2013, at 17:48, Dominik Dingel wrote: > On Fri, 26 Apr 2013 17:23:18 +0200 > Alexander Graf <agraf@suse.de> wrote: > >> >> On 26.04.2013, at 14:12, Dominik Dingel wrote: >> >>> Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> >>> >>> Check if the BIOS is available before loading it into the memory. >>> Create the needed Links for build. >>> >>> Add a if the BIOS is available, also add the needed links for the build >>> process. >>> >>> diff --git a/configure b/configure >>> index 19777de..2bbbd54 100755 >>> --- a/configure >>> +++ b/configure >>> @@ -4541,6 +4541,7 @@ for bios_file in \ >>> $source_path/pc-bios/*.aml \ >>> $source_path/pc-bios/*.rom \ >>> $source_path/pc-bios/*.dtb \ >>> + $source_path/pc-bios/*.img \ >>> $source_path/pc-bios/openbios-* \ >>> $source_path/pc-bios/palcode-* >>> do >>> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c >>> index 9758529..36daa67 100644 >>> --- a/hw/s390x/ipl.c >>> +++ b/hw/s390x/ipl.c >>> @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) >>> } >>> >>> bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); >>> + if (bios_filename == NULL) { >>> + hw_error("could not find stage1 bootloader\n"); >>> + } >>> + >>> bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, >>> NULL, 1, ELF_MACHINE, 0); >>> if (bios_size == -1UL) { >>> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile >>> index ad55a14..1e6ab1e 100644 >>> --- a/pc-bios/s390-ccw/Makefile >>> +++ b/pc-bios/s390-ccw/Makefile >>> @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) >>> >>> s390-ccw.img: s390-ccw.elf >>> $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") >>> + ln -s -f `pwd`/$@ ../$@ >> >> I don't think we do this for any other blobs, so why should we here? >> >> Alex > > In case we are not running on the s390 platform we need the link to the shipped binary. > But if we are running on the s390 platform we like to build the rom in the s390-ccw build folder. After that we either copy or link it to the pc-bios location. > I personally preferred the link version. It's not what users expect when they compile code inside of pc-bios. Please stick to whatever behavior other blobs that we compile on demand have. Alex
On Fri, 26 Apr 2013 17:57:44 +0200 Alexander Graf <agraf@suse.de> wrote: > > On 26.04.2013, at 17:48, Dominik Dingel wrote: > > > On Fri, 26 Apr 2013 17:23:18 +0200 > > Alexander Graf <agraf@suse.de> wrote: > > > >> > >> On 26.04.2013, at 14:12, Dominik Dingel wrote: > >> > >>> Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> > >>> > >>> Check if the BIOS is available before loading it into the memory. > >>> Create the needed Links for build. > >>> > >>> Add a if the BIOS is available, also add the needed links for the build > >>> process. > >>> > >>> diff --git a/configure b/configure > >>> index 19777de..2bbbd54 100755 > >>> --- a/configure > >>> +++ b/configure > >>> @@ -4541,6 +4541,7 @@ for bios_file in \ > >>> $source_path/pc-bios/*.aml \ > >>> $source_path/pc-bios/*.rom \ > >>> $source_path/pc-bios/*.dtb \ > >>> + $source_path/pc-bios/*.img \ > >>> $source_path/pc-bios/openbios-* \ > >>> $source_path/pc-bios/palcode-* > >>> do > >>> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c > >>> index 9758529..36daa67 100644 > >>> --- a/hw/s390x/ipl.c > >>> +++ b/hw/s390x/ipl.c > >>> @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) > >>> } > >>> > >>> bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); > >>> + if (bios_filename == NULL) { > >>> + hw_error("could not find stage1 bootloader\n"); > >>> + } > >>> + > >>> bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, > >>> NULL, 1, ELF_MACHINE, 0); > >>> if (bios_size == -1UL) { > >>> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile > >>> index ad55a14..1e6ab1e 100644 > >>> --- a/pc-bios/s390-ccw/Makefile > >>> +++ b/pc-bios/s390-ccw/Makefile > >>> @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) > >>> > >>> s390-ccw.img: s390-ccw.elf > >>> $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") > >>> + ln -s -f `pwd`/$@ ../$@ > >> > >> I don't think we do this for any other blobs, so why should we here? > >> > >> Alex > > > > In case we are not running on the s390 platform we need the link to the shipped binary. > > But if we are running on the s390 platform we like to build the rom in the s390-ccw build folder. After that we either copy or link it to the pc-bios location. > > I personally preferred the link version. > > It's not what users expect when they compile code inside of pc-bios. Please stick to whatever behavior other blobs that we compile on demand have. > > > Alex > I checked on my current laptop, the thing is, if we build the blob, we also want to use it. If we don't overwrite it the link, we will continue to use the old shipped blob. The linuxboot.img is imho wrong in it's way. As we build it, but the link still points to the qemu shipped one. So you change linuxboot.S. If you know rebuild qemu, do you want to use the chaned version of linuxboot.img or the shipped one? build/pc-bios$ diff ./optionrom/linuxboot.img ../../qemu/pc-bios/linuxboot.bin Binary files ./optionrom/linuxboot.img and ../../qemu/pc-bios/linuxboot.bin differ Dominik
On 26.04.2013, at 18:20, Dominik Dingel wrote: > On Fri, 26 Apr 2013 17:57:44 +0200 > Alexander Graf <agraf@suse.de> wrote: > >> >> On 26.04.2013, at 17:48, Dominik Dingel wrote: >> >>> On Fri, 26 Apr 2013 17:23:18 +0200 >>> Alexander Graf <agraf@suse.de> wrote: >>> >>>> >>>> On 26.04.2013, at 14:12, Dominik Dingel wrote: >>>> >>>>> Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> >>>>> >>>>> Check if the BIOS is available before loading it into the memory. >>>>> Create the needed Links for build. >>>>> >>>>> Add a if the BIOS is available, also add the needed links for the build >>>>> process. >>>>> >>>>> diff --git a/configure b/configure >>>>> index 19777de..2bbbd54 100755 >>>>> --- a/configure >>>>> +++ b/configure >>>>> @@ -4541,6 +4541,7 @@ for bios_file in \ >>>>> $source_path/pc-bios/*.aml \ >>>>> $source_path/pc-bios/*.rom \ >>>>> $source_path/pc-bios/*.dtb \ >>>>> + $source_path/pc-bios/*.img \ >>>>> $source_path/pc-bios/openbios-* \ >>>>> $source_path/pc-bios/palcode-* >>>>> do >>>>> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c >>>>> index 9758529..36daa67 100644 >>>>> --- a/hw/s390x/ipl.c >>>>> +++ b/hw/s390x/ipl.c >>>>> @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) >>>>> } >>>>> >>>>> bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); >>>>> + if (bios_filename == NULL) { >>>>> + hw_error("could not find stage1 bootloader\n"); >>>>> + } >>>>> + >>>>> bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, >>>>> NULL, 1, ELF_MACHINE, 0); >>>>> if (bios_size == -1UL) { >>>>> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile >>>>> index ad55a14..1e6ab1e 100644 >>>>> --- a/pc-bios/s390-ccw/Makefile >>>>> +++ b/pc-bios/s390-ccw/Makefile >>>>> @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) >>>>> >>>>> s390-ccw.img: s390-ccw.elf >>>>> $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") >>>>> + ln -s -f `pwd`/$@ ../$@ >>>> >>>> I don't think we do this for any other blobs, so why should we here? >>>> >>>> Alex >>> >>> In case we are not running on the s390 platform we need the link to the shipped binary. >>> But if we are running on the s390 platform we like to build the rom in the s390-ccw build folder. After that we either copy or link it to the pc-bios location. >>> I personally preferred the link version. >> >> It's not what users expect when they compile code inside of pc-bios. Please stick to whatever behavior other blobs that we compile on demand have. >> >> >> Alex >> > > I checked on my current laptop, the thing is, if we build the blob, we also want to use it. If we don't overwrite it the link, we will continue to use the old shipped blob. > > The linuxboot.img is imho wrong in it's way. As we build it, but the link still points to the qemu shipped one. > > So you change linuxboot.S. If you know rebuild qemu, do you want to use the chaned version of linuxboot.img or the shipped one? > > build/pc-bios$ diff ./optionrom/linuxboot.img ../../qemu/pc-bios/linuxboot.bin > Binary files ./optionrom/linuxboot.img and ../../qemu/pc-bios/linuxboot.bin differ Then change the behavior for _all_ blobs. But I prefer consistency over my personal opinion on whether one thing is more convenient or the other :) Alex
Alexander Graf <agraf@suse.de> writes: > On 26.04.2013, at 17:48, Dominik Dingel wrote: > >> On Fri, 26 Apr 2013 17:23:18 +0200 >> Alexander Graf <agraf@suse.de> wrote: >> >>> >>> On 26.04.2013, at 14:12, Dominik Dingel wrote: >>> >>>> Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> >>>> >>>> Check if the BIOS is available before loading it into the memory. >>>> Create the needed Links for build. >>>> >>>> Add a if the BIOS is available, also add the needed links for the build >>>> process. >>>> >>>> diff --git a/configure b/configure >>>> index 19777de..2bbbd54 100755 >>>> --- a/configure >>>> +++ b/configure >>>> @@ -4541,6 +4541,7 @@ for bios_file in \ >>>> $source_path/pc-bios/*.aml \ >>>> $source_path/pc-bios/*.rom \ >>>> $source_path/pc-bios/*.dtb \ >>>> + $source_path/pc-bios/*.img \ >>>> $source_path/pc-bios/openbios-* \ >>>> $source_path/pc-bios/palcode-* >>>> do >>>> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c >>>> index 9758529..36daa67 100644 >>>> --- a/hw/s390x/ipl.c >>>> +++ b/hw/s390x/ipl.c >>>> @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) >>>> } >>>> >>>> bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); >>>> + if (bios_filename == NULL) { >>>> + hw_error("could not find stage1 bootloader\n"); >>>> + } >>>> + >>>> bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, >>>> NULL, 1, ELF_MACHINE, 0); >>>> if (bios_size == -1UL) { >>>> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile >>>> index ad55a14..1e6ab1e 100644 >>>> --- a/pc-bios/s390-ccw/Makefile >>>> +++ b/pc-bios/s390-ccw/Makefile >>>> @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) >>>> >>>> s390-ccw.img: s390-ccw.elf >>>> $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") >>>> + ln -s -f `pwd`/$@ ../$@ >>> >>> I don't think we do this for any other blobs, so why should we here? >>> >>> Alex >> >> In case we are not running on the s390 platform we need the link to the shipped binary. >> But if we are running on the s390 platform we like to build the rom in the s390-ccw build folder. After that we either copy or link it to the pc-bios location. >> I personally preferred the link version. > > It's not what users expect when they compile code inside of pc-bios. Please stick to whatever behavior other blobs that we compile on demand have. Ack. Regards, Anthony Liguori > > > Alex
On Fri, 26 Apr 2013 11:38:00 -0500 Anthony Liguori <anthony@codemonkey.ws> wrote: > Alexander Graf <agraf@suse.de> writes: > > > On 26.04.2013, at 17:48, Dominik Dingel wrote: > > > >> On Fri, 26 Apr 2013 17:23:18 +0200 > >> Alexander Graf <agraf@suse.de> wrote: > >> > >>> > >>> On 26.04.2013, at 14:12, Dominik Dingel wrote: > >>> > >>>> Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> > >>>> > >>>> Check if the BIOS is available before loading it into the memory. > >>>> Create the needed Links for build. > >>>> > >>>> Add a if the BIOS is available, also add the needed links for the build > >>>> process. > >>>> > >>>> diff --git a/configure b/configure > >>>> index 19777de..2bbbd54 100755 > >>>> --- a/configure > >>>> +++ b/configure > >>>> @@ -4541,6 +4541,7 @@ for bios_file in \ > >>>> $source_path/pc-bios/*.aml \ > >>>> $source_path/pc-bios/*.rom \ > >>>> $source_path/pc-bios/*.dtb \ > >>>> + $source_path/pc-bios/*.img \ > >>>> $source_path/pc-bios/openbios-* \ > >>>> $source_path/pc-bios/palcode-* > >>>> do > >>>> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c > >>>> index 9758529..36daa67 100644 > >>>> --- a/hw/s390x/ipl.c > >>>> +++ b/hw/s390x/ipl.c > >>>> @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) > >>>> } > >>>> > >>>> bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); > >>>> + if (bios_filename == NULL) { > >>>> + hw_error("could not find stage1 bootloader\n"); > >>>> + } > >>>> + > >>>> bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, > >>>> NULL, 1, ELF_MACHINE, 0); > >>>> if (bios_size == -1UL) { > >>>> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile > >>>> index ad55a14..1e6ab1e 100644 > >>>> --- a/pc-bios/s390-ccw/Makefile > >>>> +++ b/pc-bios/s390-ccw/Makefile > >>>> @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) > >>>> > >>>> s390-ccw.img: s390-ccw.elf > >>>> $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") > >>>> + ln -s -f `pwd`/$@ ../$@ > >>> > >>> I don't think we do this for any other blobs, so why should we here? > >>> > >>> Alex > >> > >> In case we are not running on the s390 platform we need the link to the shipped binary. > >> But if we are running on the s390 platform we like to build the rom in the s390-ccw build folder. After that we either copy or link it to the pc-bios location. > >> I personally preferred the link version. > > > > It's not what users expect when they compile code inside of pc-bios. Please stick to whatever behavior other blobs that we compile on demand have. > > Ack. > > Regards, > > Anthony Liguori Would be a link for all blobs okay? Otherwise it is a magic box full with bugs and frustration for developers, as they need to copy explicitly the freshly build blob over to the source folder. Dominik > > > > > > Alex >
On 26.04.2013, at 20:03, Dominik Dingel wrote: > On Fri, 26 Apr 2013 11:38:00 -0500 > Anthony Liguori <anthony@codemonkey.ws> wrote: > >> Alexander Graf <agraf@suse.de> writes: >> >>> On 26.04.2013, at 17:48, Dominik Dingel wrote: >>> >>>> On Fri, 26 Apr 2013 17:23:18 +0200 >>>> Alexander Graf <agraf@suse.de> wrote: >>>> >>>>> >>>>> On 26.04.2013, at 14:12, Dominik Dingel wrote: >>>>> >>>>>> Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> >>>>>> >>>>>> Check if the BIOS is available before loading it into the memory. >>>>>> Create the needed Links for build. >>>>>> >>>>>> Add a if the BIOS is available, also add the needed links for the build >>>>>> process. >>>>>> >>>>>> diff --git a/configure b/configure >>>>>> index 19777de..2bbbd54 100755 >>>>>> --- a/configure >>>>>> +++ b/configure >>>>>> @@ -4541,6 +4541,7 @@ for bios_file in \ >>>>>> $source_path/pc-bios/*.aml \ >>>>>> $source_path/pc-bios/*.rom \ >>>>>> $source_path/pc-bios/*.dtb \ >>>>>> + $source_path/pc-bios/*.img \ >>>>>> $source_path/pc-bios/openbios-* \ >>>>>> $source_path/pc-bios/palcode-* >>>>>> do >>>>>> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c >>>>>> index 9758529..36daa67 100644 >>>>>> --- a/hw/s390x/ipl.c >>>>>> +++ b/hw/s390x/ipl.c >>>>>> @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) >>>>>> } >>>>>> >>>>>> bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); >>>>>> + if (bios_filename == NULL) { >>>>>> + hw_error("could not find stage1 bootloader\n"); >>>>>> + } >>>>>> + >>>>>> bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, >>>>>> NULL, 1, ELF_MACHINE, 0); >>>>>> if (bios_size == -1UL) { >>>>>> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile >>>>>> index ad55a14..1e6ab1e 100644 >>>>>> --- a/pc-bios/s390-ccw/Makefile >>>>>> +++ b/pc-bios/s390-ccw/Makefile >>>>>> @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) >>>>>> >>>>>> s390-ccw.img: s390-ccw.elf >>>>>> $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") >>>>>> + ln -s -f `pwd`/$@ ../$@ >>>>> >>>>> I don't think we do this for any other blobs, so why should we here? >>>>> >>>>> Alex >>>> >>>> In case we are not running on the s390 platform we need the link to the shipped binary. >>>> But if we are running on the s390 platform we like to build the rom in the s390-ccw build folder. After that we either copy or link it to the pc-bios location. >>>> I personally preferred the link version. >>> >>> It's not what users expect when they compile code inside of pc-bios. Please stick to whatever behavior other blobs that we compile on demand have. >> >> Ack. >> >> Regards, >> >> Anthony Liguori > > Would be a link for all blobs okay? Otherwise it is a magic box full with bugs and frustration for developers, as they need to copy explicitly the freshly build blob over to the source folder. Not this late in the development cycle. Alex
diff --git a/configure b/configure index 19777de..2bbbd54 100755 --- a/configure +++ b/configure @@ -4541,6 +4541,7 @@ for bios_file in \ $source_path/pc-bios/*.aml \ $source_path/pc-bios/*.rom \ $source_path/pc-bios/*.dtb \ + $source_path/pc-bios/*.img \ $source_path/pc-bios/openbios-* \ $source_path/pc-bios/palcode-* do diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 9758529..36daa67 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -95,6 +95,10 @@ static int s390_ipl_init(SysBusDevice *dev) } bios_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); + if (bios_filename == NULL) { + hw_error("could not find stage1 bootloader\n"); + } + bios_size = load_elf(bios_filename, NULL, NULL, &ipl->start_addr, NULL, NULL, 1, ELF_MACHINE, 0); if (bios_size == -1UL) { diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile index ad55a14..1e6ab1e 100644 --- a/pc-bios/s390-ccw/Makefile +++ b/pc-bios/s390-ccw/Makefile @@ -21,6 +21,7 @@ s390-ccw.elf: $(OBJECTS) s390-ccw.img: s390-ccw.elf $(call quiet-command,strip $< -o $@," Stripping $(TARGET_DIR)$@") + ln -s -f `pwd`/$@ ../$@ clean: rm -f *.o *.d *.img *.elf *~
Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> Check if the BIOS is available before loading it into the memory. Create the needed Links for build. Add a if the BIOS is available, also add the needed links for the build process.