Ok, resetting.
So, there are three basic types/styles of ROM used for CP/M machines:
A) ROM that exists only on RESET/power-on and is mapped out once CP/M starts.
B) ROM that is always mapped in, at high memory, and CP/M fits below it.
C) ROM that is dynamically mapped in/out based on need, and CP/M is designed to work under those conditions.
"C" is the most complicated, and even more-so when adding banked RAM for CP/M 3.
I'm not sure if you are using a 32K ROM because that is convenient, or if you really need all (most) of the 32K. It is possible to, for example, map only 4K of the 32K ROM and thus not carve-out such a large chunk of the CPU address space.
So, one decision that needs to be made is where the ROM will be "ORGed" - i.e. at what CPU address does it "operate". Since the ROM needs to get control when the CPU is RESET or powered-on, something needs to provide at least one executable (meaningful) instruction at location 0000H.
Another consideration is that ROM code typically needs at least some RAM in order to operate, certainly it needs a stack. So, if using scheme B or C, that RAM needs to be protected from CP/M in some way. Typically, the RAM used for that is placed at high addresses, and CP/M is kept below that (CP/M expects to have continuous RAM from 0000H to the last byte in the BDOS).
As an example, the Kaypro uses an 4K/8K ROM ORGed and mapped at 0000H. This ROM uses several pages of RAM at the top of the address range, in order to maintain context, etc. The Kaypro CP/M is always created as a "63K" version, to reserve that high memory. The CP/M BIOS then makes the proper preparations and maps the ROM back in to perform various I/O functions. When I implemented CP/M 3 on the Kaypro, I was just not interested in trying to make that work on top of banked RAM, so I re-implemented all the ROM routines in the BNKBIOS3 and reclaimed all of memory, and also avoid yet-another bank switch tap-dance, since CP/M 3 is already bank-switching between the TPA (1) and system (0) banks.
So, probably the first decision/question is: what purpose will the ROM be serving once CP/M 3 is booted and running? I guess a related question is what will be in this 32K ROM? If you plan on having the "boot" image of CP/M 3 there, that affects a lot of the next decisions.