Index: sid/component/glue/glue.cxx =================================================================== RCS file: /cvs/cvsfiles/devo/sid/component/glue/glue.cxx,v retrieving revision 1.38 diff -c -p -r1.38 glue.cxx *** sid/component/glue/glue.cxx 11 Nov 2002 22:28:28 -0000 1.38 --- sid/component/glue/glue.cxx 28 Aug 2006 18:58:34 -0000 *************** *** 1,6 **** // glue.cxx - miscellaneous glue components. -*- C++ -*- ! // Copyright (C) 1999-2001 Red Hat. // This file is part of SID and is licensed under the GPL. // See the file COPYING.SID for conditions for redistribution. --- 1,6 ---- // glue.cxx - miscellaneous glue components. -*- C++ -*- ! // Copyright (C) 1999-2001, 2006 Red Hat. // This file is part of SID and is licensed under the GPL. // See the file COPYING.SID for conditions for redistribution. *************** class bus_prober: public virtual compone *** 376,381 **** --- 376,382 ---- probing_bus upstream; bus* downstream; + host_int_4 base_address; output_pin address_pin; output_pin data_high_pin; output_pin data_low_pin; *************** public: *** 390,396 **** bus_prober::bus_prober (): upstream (this), ! downstream (0) { sample_interval = 1; --- 391,398 ---- bus_prober::bus_prober (): upstream (this), ! downstream (0), ! base_address (0) { sample_interval = 1; *************** public: *** 408,413 **** --- 410,416 ---- add_pin ("type", & this->accesstype_pin); add_attribute ("type", & this->accesstype_pin, "pin"); + add_attribute ("base-address", & this->base_address, "setting"); add_attribute ("sample-interval", & this->sample_interval, "setting"); add_attribute ("trace?", & this->upstream.verbose_p, "setting"); add_attribute ("label", & this->label, "setting"); *************** probing_bus::writeAny(host_int_4 addr, D *** 470,476 **** this->counter = 0; // drive informational pins ! this->prober->address_pin.drive (addr); typename DataType::host_int_type d_host = data; // natural endianness host_int_8 d_wide(d_host); // widen this->prober->data_high_pin.drive ((d_wide >> 32) & 0xFFFFFFFF); --- 473,479 ---- this->counter = 0; // drive informational pins ! this->prober->address_pin.drive (this->prober->base_address + addr); typename DataType::host_int_type d_host = data; // natural endianness host_int_8 d_wide(d_host); // widen this->prober->data_high_pin.drive ((d_wide >> 32) & 0xFFFFFFFF); *************** probing_bus::readAny(host_int_4 addr, Da *** 506,512 **** this->counter = 0; // drive informational pins ! this->prober->address_pin.drive (addr); typename DataType::host_int_type d_host = data; // natural endianness host_int_8 d_wide(d_host); // widen this->prober->data_high_pin.drive ((d_wide >> 32) & 0xFFFFFFFF); --- 509,515 ---- this->counter = 0; // drive informational pins ! this->prober->address_pin.drive (this->prober->base_address + addr); typename DataType::host_int_type d_host = data; // natural endianness host_int_8 d_wide(d_host); // widen this->prober->data_high_pin.drive ((d_wide >> 32) & 0xFFFFFFFF); Index: sid/component/glue/hw-glue-probe-bus.xml =================================================================== RCS file: /cvs/cvsfiles/devo/sid/component/glue/hw-glue-probe-bus.xml,v retrieving revision 1.4 diff -c -p -r1.4 hw-glue-probe-bus.xml *** sid/component/glue/hw-glue-probe-bus.xml 27 May 2002 20:53:49 -0000 1.4 --- sid/component/glue/hw-glue-probe-bus.xml 28 Aug 2006 18:58:34 -0000 *************** *** 18,23 **** --- 18,24 ---- + *************** *** 54,60 **** pins. In sequence, the following output pins are driven:

  • ! address - address parameter
  • data-high - top 32 bits of bus data being read/written
  • --- 55,61 ---- pins. In sequence, the following output pins are driven:

    • ! address - address parameter added to the value of the base-address attribute
    • data-high - top 32 bits of bus data being read/written