Abhijeet, You're absolutely right, my config_1200.cpp was setting it to BUS_SPLIT mode based on the fact that it was an SI_BOARD. It's a little disconcerting that it completely ignores the bus_mode parameter of the system's board.h::ixp_board_config structure. I'd been looking yesterday in the resource manager's microengine.c file which seems to program the FBI after config_1200.cpp but somehow config_1200.cpp takes precedence. I won't bother investigating that further though. I hardwired the 64-bit setting myself and have gotten the count application to work with the debugger. Hopefully there aren't any other critical changes from the config_1200.cpp that you have. Incidentally, where did you get this updated file for the ENP-2505 and are there any other files (other than board.h) that need to be changed for proper operation? Thanks again. On Tue, 6 Aug 2002, Abhijeet Joglekar wrote:
Michael,
One of the possible problems (I faced this one) could be that the IXBus is not been initialised properly in the workbench mode.
In the workbench mode, the rs_udebug app which is run by the startup scripts does the board initialisation. There is a file called config_1200.cpp in SA1_CoreLibs/app_1200 directory. I had the wrong version of this file which was initialising the IX bus wrongly.
Basically for the Enp2505, this file should hard-wire the IX bus to be used in 64 bit mode. Look below....
**************** #if 1 /* gerry enp-2505 is not 32Bit split bus */ < printf("ConfigureFBusInterface: 64Bit IXbus.\n"); < fb_width = BUS_WIDTH_64; < #else < printf("ConfigureFBusInterface: using sysBoardIDGet() to determine 32/64bi t IXbus.\n"); 539d533 < #endif
**************** If you dont have something like this in that file, then in all probability you need to get the correct version of this file.
Hope this helps.
- Abhijeet