From c9844951f7a1bc1d899f9ea2e3bdf00edfb20aa7 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 10 Sep 2013 16:27:00 -0700 Subject: [PATCH] PDP11/VAX: Make sure that semi-unique drive serial numbers have a zero msb to avoid issues in some operating systems. --- PDP11/pdp11_io_lib.c | 2 +- sim_disk.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/PDP11/pdp11_io_lib.c b/PDP11/pdp11_io_lib.c index 7fdf816b..98ed06ac 100644 --- a/PDP11/pdp11_io_lib.c +++ b/PDP11/pdp11_io_lib.c @@ -784,7 +784,7 @@ if ((c = strrchr (namebuf, ']'))) strcpy (namebuf, c+1); packid = eth_crc32(0, namebuf, strlen (namebuf)); buf[0] = (uint16)packid; -buf[1] = (uint16)(packid >> 16); +buf[1] = (uint16)(packid >> 16) & 0x7FFF; /* Make sure MSB is clear */ buf[2] = buf[3] = 0; for (i = 4; i < wds; i++) buf[i] = 0177777u; diff --git a/sim_disk.c b/sim_disk.c index d113d417..ca65cce1 100644 --- a/sim_disk.c +++ b/sim_disk.c @@ -1435,7 +1435,7 @@ if ((c = strrchr (namebuf, ']'))) strcpy (namebuf, c+1); packid = eth_crc32(0, namebuf, strlen (namebuf)); buf[0] = (uint16)packid; -buf[1] = (uint16)(packid >> 16); +buf[1] = (uint16)(packid >> 16) & 0x7FFF; /* Make sure MSB is clear */ buf[2] = buf[3] = 0; for (i = 4; i < wds; i++) buf[i] = 0177777u;