On Fri, Jun 06, 2008 at 11:01:06PM +0200, Patrick Georgi wrote:
> Index: northbridge/intel/i440bxemulation/domain
> ===================================================================
> --- northbridge/intel/i440bxemulation/domain  (revision 689)
> +++ northbridge/intel/i440bxemulation/domain  (working copy)
> @@ -19,6 +19,5 @@
>   */
>  
>  {
> -     ramsize = "128";

Is this parameter now used anywhere else?


>       device_operations = "i440bx_domain";
>  };
> Index: northbridge/intel/i440bxemulation/i440bx.c
> ===================================================================
> --- northbridge/intel/i440bxemulation/i440bx.c        (revision 689)
> +++ northbridge/intel/i440bxemulation/i440bx.c        (working copy)
> @@ -37,25 +37,40 @@
>   * such modified SOFTWARE should be clearly marked, so as not to confuse
>   * it with the version available from LANL.
>   */
> + /* dynamic qemu ram size detection
> +    Copyright 2008 Patrick Georgi <[EMAIL PROTECTED]>
> +    Licensed under the terms of the GNU General Public License v2 or later
> + */

Maybe nicer to have the same style on all comments?


>  #include <types.h>
>  #include <console.h>
>  #include <device/device.h>
>  #include <device/pci.h>
>  #include <string.h>
> +#include <io.h>
>  #include "i440bx.h"
>  #include "statictree.h"
>  
>  /* Here are the ops for 440BX as a PCI domain. */
>  
> +static int inb_cmos(int port)
> +{
> +     outb(port, 0x70);
> +     return inb(0x71);
> +}
> +

Is this available somewhere else? Should it be?


>  static void pci_domain_set_resources(struct device *dev)
>  {
>       struct device *mc_dev;
>       u32 tolmk;              /* Top of low mem, Kbytes. */
>       int idx;
> -     struct northbridge_intel_i440bxemulation_domain_config 
> *device_configuration =
> -         dev->device_configuration;
> -     tolmk = device_configuration->ramsize * 1024;
> +     /* read large mem memory descriptor
> +        for <16 MB read the more detailed small mem descriptor
> +        all values in kbytes */
> +     tolmk = ((inb_cmos(0x35)<<8) |inb_cmos(0x34)) * 64;
> +     if (tolmk <= 16 * 1024) {
> +             tolmk = (inb_cmos(0x31)<<8) |inb_cmos(0x30);
> +     }

I like this.


//Peter

-- 
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to