Consider the simple autonomous, non-homogeneous system of linear ODE's $$\dot{\mathbf{x}}(t) = M\mathbf{x}(t) + \mathbf{b}$$ where $\mathbf{x} :\mathbb{R}\to\mathbb{C}^n$ is a vector valued function of time, $M$ is a constant $n\times n$ complex matrix, and $\mathbf{b}\in\mathbb{C}^n$ is constant.
My main question is the following:
Q: What are the necessary conditions placed on $M$ and $\mathbf{b}$ such that all solutions $\mathbf{x}(t)$ are bounded, in norm, for all $t$? That is, all solutions satisfy $\|\mathbf{x}(t)\|\leq R$ for all $t$, with $R\in(0,\infty)$ fixed.
When $\mathbf{b} = 0$, I know the answer: the eigenvalues $\lambda$ of $M$ must satisfy $\text{Re}(\lambda)\leq 0$ and the Jordan blocks (in a Jordan normal form of $M$) corresponding to any eigenvalue with $\text{Re}(\lambda)=0$ must size $1\times 1$.
For $\mathbf{b} \neq 0$, can the Jordan normal form of $M$ alone determine whether all solutions are bounded? Or, does $\mathbf{b}$ play a non-trivial role in diagnosing this notion of "stability"? I think I can prove that all solutions are bounded whenever $M$ is diagonalizable and has eigenvalues that lie strictly in the left half plane ($\text{Re}(\lambda)<0$) but am not sure how to move beyond.
I should also say that I am aware of other notions of stability such as Lyapunov stability, asymptotic stability, etc, and I know various theorems relating the Jordan normal form of $M$ to these notions. I'm simply having trouble finding results relating to this boundedness criterion I state.
Thanks to anyone who may be able to answer or point me in the right direction!