This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: RE: IXP2400 Redboot / Ram Monitor / PCI Init... ?
- From: Nalin Gupta <nalingupta2000 at gmail dot com>
- To: ecos-discuss at sources dot redhat dot com
- Date: Thu, 10 Feb 2005 16:35:33 +0530
- Subject: Re: [ECOS] RE: IXP2400 Redboot / Ram Monitor / PCI Init... ?
- References: <F7DC2337C7631D4386A2DF6E8FB22B3002B47ADA@hdsmsx401.amr.corp.intel.com>
- Reply-to: Nalin Gupta <nalingupta2000 at gmail dot com>
Hi,
On Wed, 9 Feb 2005 11:09:16 -0500, Daly, Jeffrey <jeffrey.daly@intel.com> wrote:
>
> The HAL_PCI_IGNORE_DEVICE macro is so that devices don't get configured.
> The code to do the PCI bus probes in config space hooks the data abort
> exception vector so probing non-existent devices is caught. See
> ixp2000_pci.c (or similar) for pci_config_setup() code example.
> Somebody really should bring the IXP2400 stuff up to the latest version
> of eCos if it's still stuck at pre-2.0.
In pci_config_setup, hooks "__pci_abort_handler" at location
(0x20)[4].
Q1: What is this array base location 0x20 ?
Q2: Is it related to Section_fixed_vectors / Virtual Vector Table ?
Q3: Does same holds good for RAM Monitor ?
Q4: For RAM monitor, Do I need to select one of
CYGSEM_HAL_ROM_MONITOR and CYGSEM_HAL_USE_ROM_MONITOR option ?
>From Anthony J. Massa Ecos book chapter 4, I read for RAM Debugging
Applications "CYGSEM_HAL_USE_ROM_MONITOR " is enabled, whereas for
RAM Released application "CYGSEM_HAL_ROM_MONITOR" is enabled.
May be I am wrongly altering
mlt_arm_ixdp2400_ram.ldi and redboot_RAM.ecm
----------------------------------------------------------------------------------------------------
#include <cyg/infra/cyg_type.inc>
MEMORY
{
ram : ORIGIN = 0x00000000, LENGTH = 0x20000000
}
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (ram, 0x00200000, LMA_EQ_VMA)
SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)
SECTION_text (ram, 0x00202000 , LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_data (ram, 0x00240000, LMA_EQ_VMA )
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__pci_window) = 0x100000; . =
CYG_LABEL_DEFN(__pci_window) + 0x100000;
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
----------------------------------------------------------------------------------------------------
cdl_savefile_version 1;
cdl_savefile_command cdl_savefile_version {};
cdl_savefile_command cdl_savefile_command {};
cdl_savefile_command cdl_configuration { description hardware template
package };
cdl_savefile_command cdl_package { value_source user_value
wizard_value inferred_value };
cdl_savefile_command cdl_component { value_source user_value
wizard_value inferred_value };
cdl_savefile_command cdl_option { value_source user_value wizard_value
inferred_value };
cdl_savefile_command cdl_interface { value_source user_value
wizard_value inferred_value };
cdl_configuration eCos {
description "" ;
hardware ixdp2400 ;
template redboot ;
package -hardware CYGPKG_HAL_ARM v1_24 ;
package -hardware CYGPKG_HAL_ARM_IXDP2400 v1_24 ;
package -hardware CYGPKG_IO_PCI v1_24 ;
package -hardware CYGPKG_IO_I2C v1_24 ;
package -hardware CYGPKG_DEVS_ETH_ARM_IXDP2400 v1_24 ;
package -template CYGPKG_HAL v1_24 ;
package -template CYGPKG_INFRA v1_24 ;
package -template CYGPKG_REDBOOT v1_24 ;
package CYGPKG_IO_FLASH v1_24 ;
package CYGPKG_IO_ETH_DRIVERS v1_24 ;
package CYGPKG_DEVS_FLASH_IXDP2400 v1_24 ;
};
cdl_option CYGBLD_BUILD_GDB_STUBS {
user_value 0
};
cdl_option CYGDBG_DEVS_ETH_ARM_IXDP2400_CHATTER {
user_value 0
};
cdl_option CYGPKG_IO_PCI_DEBUG {
user_value 0
};
cdl_option CYGNUM_DEVS_ETH_ARM_IXDP2400_DEV_COUNT {
user_value 1
};
cdl_option CYGDBG_DEVS_ETH_ARM_IXDP2400_KEEP_STATISTICS {
user_value 0
};
cdl_option CYGDBG_DEVS_ETH_ARM_IXDP2400_KEEP_82559_STATISTICS {
user_value 0
};
cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
user_value 32
};
cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
user_value 0
};
cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
inferred_value 0
};
cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
inferred_value 0
};
cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
inferred_value 0
};
cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
inferred_value 0
};
cdl_option CYGSEM_HAL_ROM_MONITOR {
user_value 0
};
cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
inferred_value 0 0
};
cdl_component CYG_HAL_STARTUP {
user_value RAM
};
cdl_option CYGBLD_BUILD_REDBOOT {
user_value 1
};
cdl_option CYGSEM_REDBOOT_FLASH_CONFIG {
user_value 1
};
cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS {
inferred_value 1
};
cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
inferred_value 0x40000
};
cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
user_value 0
};
cdl_option CYGOPT_DEVS_FLASH_IXDP2400_NOT_IN_RAM {
user_value 0
};
cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
user_value 0
};
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss