Real Madrid advanced to the Spanish Super Cup final with a win over Mallorca, setting up Sunday's final against Barca.