One feature of the clock chip is a register which will cause the clock to stop if it is set to 1. On the other hand the method to detect if a clock is present is to read the time once, wait a second and then check if the time has changed. This means if a program stops the clock (maybe by accident), it is no longer recognised until the register is reset to 0 (which will not be done by the OS because the OS thinks there is no clock).
Whatever, I didn't know all that when I wrote the RestartClock program. It just uses the brute force method: it fills the entire address space of the clock with zeroes. It does not care if there is a clock or not.