This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: i386: allow platforms to override HAL_MEM_REAL_REGION_TOP


Andrew Lunn <andrew@lunn.ch> writes:

> > It's been a while since we did this. I believe it is because the pcmb
> > package already provides it and our platforms are based on pcmb in the
> > same way that the pc platform is. Some of them differ in this detail
> > since they don't have a BIOS. This patch allows the platform to override
> > the pcmb provided default.
> > 
> > Perhaps the correct solution is to move hal_i386_mem_real_region_top
> > from pcmb to the pc package? Or a weak symbol in pcmb (not too sure how
> > those work though).
> 
> OK. Time to ask some stupid questions.....
> 
> What is the difference between the PC package and the PCMB package?
> The description properties are:
> 
> CYGPKG_HAL_I386_PCMB
>             The i386 PC Motherboard HAL package provides the
>             support needed to run eCos binaries on a standard i386
>             PC motherboard. This is a support package for various
>             actual platform specific targets."
> 
> CYGPKG_HAL_I386_PC
>             The i386 PC Target HAL package provides the
>             support needed to run eCos binaries on a standard i386
>             PC."
> 
> Its not clear to me what the differences is!
> 
> 2nd question. Is the BIOS a property of the PCMB or of the PC? 

The PCMB HAL contains support for any devices that are found on a
standard PC motherboard. It recognises that even embedded i386 devices
are likely to have the usual set of devices.

The PC HAL provides support for a proper PC, as found by your desk. So
this has a proper BIOS and boots from an external device like floppy
or IDE disk.

Other HALs might support i386s that boot directly from flash/ROM
without a BIOS. This is the sort of thing that Arcom do.

So BIOS support is part of the PC HAL, and anything that interacts
with the BIOS should be in there. So, for example, the floppy startup
code is in the PC HAL, because it uses the BIOS. However, the RAM,
GRUB and ROM startup code is in the PCMB HAL because they don't.


-- 
Nick Garnett                                     eCos Kernel Architect
http://www.ecoscentric.com                The eCos and RedBoot experts


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]