[arbel] Perform ICM allocations according to the specification

The current method for ICM allocation exactly matches the addresses
chosen by the old Etherboot driver, but does not match the
specification.  Some ICM tables (notably the queue pair context table)
therefore end up incorrectly aligned.

Fix by performing allocations as per the specification.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2010-09-17 04:56:23 +01:00
parent f7a49e23e9
commit d84e4e0575
2 changed files with 87 additions and 44 deletions

View File

@@ -93,6 +93,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define ARBEL_PAGE_SIZE 4096
#define ARBEL_RDB_ENTRY_SIZE 32
#define ARBEL_DB_POST_SND_OFFSET 0x10
#define ARBEL_DB_EQ_OFFSET(_eqn) ( 0x08 * (_eqn) )
@@ -103,6 +105,8 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define ARBEL_EV_PORT_STATE_CHANGE 0x09
#define ARBEL_LOG_MULTICAST_HASH_SIZE 3
/*
* Datatypes that seem to be missing from the autogenerated documentation
*