司马炎知道儿子愚钝,但见孙子司马遹如此聪明,还是倍感欣慰,就把希望寄托在第三代身上,所以也就没有了改换太子司马衷的想法了。为了培养孙子,他选择了品格高尚,以清正廉洁著称的散骑常侍刘寔做司马遹的师傅。刘寔(shí,220―310),字子真,平原郡高唐县(今山东高唐县)人,是汉章帝刘炟第五子济北惠王刘寿的后人。他父亲叫刘广,曾任斥丘(今河北省邯郸市境内)县令。刘寔幼年时家道中落,少年贫困,靠卖牛衣(1)来养活自己,但是他非常好学,手里缠着牵牛的绳子,嘴里还在背诵诗书,终于学成满腹经纶。他修养极好,言行几乎让人挑不出来毛病,长大后以计吏(掌簿籍并负责上计的官员)的身份到了京都洛阳,因工作出色调任河南尹丞,迁任尚书郎、廷尉正,后任国子祭酒、散骑常侍。
太康十年(289),在众多美女中追求生理享受的司马炎终于病倒了,卧床不起。为了巩固太子司马衷的地位,也为了司马家的江山着想,十一月二十三日,他进行了一项重要的人事任命——任命他最信任的叔叔司马亮为侍中、大司马、大都督,假黄钺,兼都督豫州诸军事,大营设在许昌。同时,改封第三子南阳王司马柬(和司马衷同母)为秦王,都督关中诸军事;改封第六子始平王司马玮为楚王,都督荆州诸军事;第九子濮阳王司马允为淮南王,都督扬州诸军事。这几位皇子统统假节。又封第十二子司马乂(yì)为长沙王、第十四子司马颖为成都王、第十五子司马晏为吴王、第十七子司马炽为豫章王、第十八子司马演为代王。封皇孙司马遹为广陵王、司马玮的儿子为毗陵王、司马允的儿子为汉王;改封扶风王司马畅(司马炎叔叔司马骏的儿子)为顺阳王、司马畅的弟弟司马歆为新野公;又封司马澹(dàn)为东武公,司马繇为东安公(二人都是司马炎的叔叔司马伷的儿子)。