ZCOM Tables and Data Structures

Memory Organization

Memory Organization

The ZCOM Logical Device Manager (LDM driver) reserves a contiguous block of kernel memory for tables for its use. The maximum size of this memory block is tunable at kernel build time through the zcom_mem_size parameter in the “system” file used to build your kernel. The default value for this parameter is 4 Mbytes. This memory is allocated relative to a starting pointer. The memory is organized by function into the following groups:

Figure 3-1 Memory Organization

ZCOM Header Structure

Node Table Entries

ZLU Tables

Logical Terminal Tables

Physical Terminal Tables

Interface Tables

Response Records

Queue Header Structures

ZCOM Data Buffers

The TTGEN configuration file describes the sizes and initial content of these tables. When TTGEN is run, it produces a memory image file that is the same size and in the same format as this memory layout. The memory image file is loaded into the kernel memory by ZMON via the LDM when the system is initialized. Most of the tables are preset up in the file by TTGEN; however, the response headers, queue headers and data buffers are created and initialized by the LDM.

Note that TTGEN reports the size of the memory block in the “System Information” section of the listing (if a listing is requested). If the tunable parameter zcom_mem_size is different from the reported size of the memory block, the ‘ZCOM Data Buffers’ area will be increased or reduced to fit the memory block in the kernel memory during ZCOM subsystem startup.

Chapter 3

39