If both kernels are available at boot time, and only 1 CPU is active with less
than a total of 4GB RAM, then choose the non-smp kernel.

Maybe fix ext2 code to handle multiple open FSs at once

Think about UFS/HFS/ISO9660

Fix 'palo' to know how to update

Use BOOT_BLOCK_INPUT instead of BOOT_INPUT to allow addressing larger media.

A test suite would be nice

Test 2k block size

Make the interactive stuff nicer

Here's a little algorithm for determining what type of firmware
we have

    #define SET_PLATFORM_ID( Platform_ID ) { \
        long status; \
        pdc_pat_cell_info_rtn_block_t info; \
        status = pdc_call( PDC_PAT_CELL, PDC_PAT_CELL_GET_INFO, \
                & info, NULL, 0L, 0L, -1L); \
        switch (status) { \
        case PDC_RET_NE_PROC: \
                Platform_ID = PLATFORM_PA; \
                break; \
        case PDC_RET_NE_OPT: \
                Platform_ID = PLATFORM_PAT; \
                break; \
        case PDC_RET_INV_ARG: \
                Platform_ID = PLATFORM_PAT_CELL; \
                break; \
        default: \
                Platform_ID = PLATFORM_UNRECOGNIZED; \
        } \
    }
