Opened 5 years ago

Closed 4 years ago

#240 closed defect (fixed)

start_cpu$start_cpu uses incorrect sizes and offsets to read the PROM data.

Reported by: canthony Owned by: Eric Swenson
Priority: major Milestone: MR12.8
Component: Answering Service Version: MR12.7
Keywords: Cc:

Description

"58009997-040 MULTICS Differences Manual DPS 8 70/M" pages 32 to 33 describes the layout of the PROM, with a column heading "Byte Location (Octal)"

Specifically:

0-13 CPU Model Number

13-25 CPU Serial Number
26-33 Date-Ship Code (YYMMDD)

(I believe 0-13 to be a typo; it should read 0-12; the usage in start_cpu agrees with this interpretation.)

In start_cpu:

cpu_model char (13) aligned, /* storage for cpu model number (from ID PROM) */
cpu_serial char (13) aligned, /* storage for cpu serial number (from ID PROM) */
cpu_ship_date char (8) aligned; /* storage for cpu ship date (from ID PROM) */

and

call privileged_mode_ut$read_id_prom (cpu_model, 0);

/* get cpu model from ID PROM */

call privileged_mode_ut$read_id_prom (cpu_serial, 13);

/* get cpu serial # from ID PROM */

call privileged_mode_ut$read_id_prom (cpu_ship_date, 26);

/* get ship date from ID PROM */

Note that the offsets and derived lengths are based on interpreting the offsets as decimal.

Change History (1)

comment:1 by Eric Swenson, 4 years ago

Milestone: MR12.8
Resolution: fixed
Status: newclosed
Version: MR12.7
Note: See TracTickets for help on using tickets.