You may use the hall sensor pulse change to trigger an interrupt.
Then you can measure the time span between each interrupt.
A little bit of basic math to get the frequency in RPM and done!
In case of overflow you should think better about the timer clock.
You should use a timer with at least 16-bit with a prescaler.
Then you can drive it with a low frequency oscillator like 32.768Khz.
But depending of your motor, you shouldn't need a separated oscillator assuming that you're going to use a MCU to do it.
Also you can do different measurements, you measure the time between two hall sensors or the period of only one.
In case of measuring between two hall sensors, the period will be shorter, thus you will probably have no overflows.